[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