[xiph-commits] r16023 - in trunk/xiph-qt: . OggExport/src

arek at svn.xiph.org arek at svn.xiph.org
Sun May 24 08:06:22 PDT 2009


Author: arek
Date: 2009-05-24 08:06:20 -0700 (Sun, 24 May 2009)
New Revision: 16023

Modified:
   trunk/xiph-qt/ChangeLog
   trunk/xiph-qt/OggExport/src/OggExport.c
   trunk/xiph-qt/OggExport/src/OggExportDispatch.h
Log:
	* OggExport/src/OggExport.c:
	* OggExport/src/OggExportDispatch.h:
	Add (delegated) support for NewGetDataAndPropertiesProcs - makes
	OggExport component iMovie'08 "compatible".



Modified: trunk/xiph-qt/ChangeLog
===================================================================
--- trunk/xiph-qt/ChangeLog	2009-05-21 00:03:09 UTC (rev 16022)
+++ trunk/xiph-qt/ChangeLog	2009-05-24 15:06:20 UTC (rev 16023)
@@ -1,3 +1,10 @@
+2009-05-24  Arek Korbik  <arkadini at gmail.com>
+
+	* OggExport/src/OggExport.c:
+	* OggExport/src/OggExportDispatch.h:
+	Add (delegated) support for NewGetDataAndPropertiesProcs - makes
+	OggExport component iMovie'08 "compatible".
+
 2008-06-17  Arek Korbik  <arkadini at gmail.com>
 
 	* OggImport/src/stream_theora.c: Don't feed ogg pages when not going

Modified: trunk/xiph-qt/OggExport/src/OggExport.c
===================================================================
--- trunk/xiph-qt/OggExport/src/OggExport.c	2009-05-21 00:03:09 UTC (rev 16022)
+++ trunk/xiph-qt/OggExport/src/OggExport.c	2009-05-24 15:06:20 UTC (rev 16023)
@@ -89,6 +89,13 @@
 pascal ComponentResult OggExportToDataRef(OggExportGlobalsPtr globals, Handle dataRef, OSType dataRefType,
                                           Movie theMovie, Track onlyThisTrack, TimeValue startTime, TimeValue duration);
 pascal ComponentResult OggExportFromProceduresToDataRef(OggExportGlobalsPtr globals, Handle dataRef, OSType dataRefType);
+pascal ComponentResult OggExportNewGetDataAndPropertiesProcs(OggExportGlobalsPtr globals, OSType trackType, TimeScale *scale, Movie theMovie,
+                                                             Track theTrack, TimeValue startTime, TimeValue duration,
+                                                             MovieExportGetPropertyUPP *getPropertyProc, MovieExportGetDataUPP *getDataProc,
+                                                             void **refcon);
+pascal ComponentResult OggExportDisposeGetDataAndPropertiesProcs(OggExportGlobalsPtr globals,
+                                                                 MovieExportGetPropertyUPP getPropertyProc, MovieExportGetDataUPP getDataProc,
+                                                                 void *refcon);
 pascal ComponentResult OggExportAddDataSource(OggExportGlobalsPtr globals, OSType trackType, TimeScale scale,
                                               long *trackIDPtr, MovieExportGetPropertyUPP getPropertyProc,
                                               MovieExportGetDataUPP getDataProc, void *refCon);
@@ -519,6 +526,42 @@
     return err;
 }
 
+/*
+ * We can't really extract the data and properties ourselves, but if
+ * someone insists we can delegate to the QuickTime movie exporter
+ * component - that's what the following two methods do.
+ *
+ * (at least, it seems to make iMovie'08 more happy)
+ */
+pascal ComponentResult OggExportNewGetDataAndPropertiesProcs(OggExportGlobalsPtr globals, OSType trackType, TimeScale *scale, Movie theMovie,
+                                                             Track theTrack, TimeValue startTime, TimeValue duration,
+                                                             MovieExportGetPropertyUPP *getPropertyProc, MovieExportGetDataUPP *getDataProc,
+                                                             void **refcon)
+{
+    ComponentResult err;
+    dbg_printf("[  OE]  >> [%08lx] :: NewGetDataAndPropertiesProcs(%4.4s, %ld, %ld)\n", (UInt32) globals, (char *) &trackType, startTime, duration);
+
+    err = MovieExportNewGetDataAndPropertiesProcs(globals->quickTimeMovieExporter, trackType, scale, theMovie, theTrack, startTime, duration,
+                                                  getPropertyProc, getDataProc, refcon);
+
+    dbg_printf("[  OE] <   [%08lx] :: NewGetDataAndPropertiesProcs() = %ld (refcon = %08lx)\n",
+               (UInt32) globals, err, (UInt32) (refcon != NULL ? *refcon : NULL));
+    return err;
+}
+
+pascal ComponentResult OggExportDisposeGetDataAndPropertiesProcs(OggExportGlobalsPtr globals,
+                                                                 MovieExportGetPropertyUPP getPropertyProc, MovieExportGetDataUPP getDataProc,
+                                                                 void *refcon)
+{
+    ComponentResult err;
+    dbg_printf("[  OE]  >> [%08lx] :: DisposeGetDataAndPropertiesProcs(%08lx)\n", (UInt32) globals, (UInt32) refcon);
+
+    err = MovieExportDisposeGetDataAndPropertiesProcs(globals->quickTimeMovieExporter, getPropertyProc, getDataProc, refcon);
+
+    dbg_printf("[  OE] <   [%08lx] :: DisposeGetDataAndPropertiesProcs() = %ld\n", (UInt32) globals, err);
+    return err;
+}
+
 pascal ComponentResult OggExportAddDataSource(OggExportGlobalsPtr globals, OSType trackType, TimeScale scale,
                                               long *trackIDPtr, MovieExportGetPropertyUPP getPropertyProc,
                                               MovieExportGetDataUPP getDataProc, void *refCon)

Modified: trunk/xiph-qt/OggExport/src/OggExportDispatch.h
===================================================================
--- trunk/xiph-qt/OggExport/src/OggExportDispatch.h	2009-05-21 00:03:09 UTC (rev 16022)
+++ trunk/xiph-qt/OggExport/src/OggExportDispatch.h	2009-05-24 15:06:20 UTC (rev 16023)
@@ -84,6 +84,6 @@
 	ComponentRangeEnd (2)
 
 	ComponentRangeBegin (3)
-		ComponentError (NewGetDataAndPropertiesProcs)
-		ComponentError (DisposeGetDataAndPropertiesProcs)
+		ComponentCall (NewGetDataAndPropertiesProcs)
+		ComponentCall (DisposeGetDataAndPropertiesProcs)
 	ComponentRangeEnd (3)



More information about the commits mailing list