[xiph-commits] r8757 - in trunk/oggdsf/src: lib/codecs/cmml/libCMMLParse lib/helper/libOOOggChef tools/CMMLDump tools/mod_oggchef

ozone at motherfish-iii.xiph.org ozone at motherfish-iii.xiph.org
Fri Jan 14 03:05:02 PST 2005


Author: ozone
Date: 2005-01-14 03:05:01 -0800 (Fri, 14 Jan 2005)
New Revision: 8757

Modified:
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLParse/CMMLParser.cpp
   trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.cpp
   trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.h
   trunk/oggdsf/src/lib/helper/libOOOggChef/CMMLRecomposer.cpp
   trunk/oggdsf/src/tools/CMMLDump/CMMLDump.vcproj
   trunk/oggdsf/src/tools/mod_oggchef/mod_oggchef.vcproj
Log:
oggdsf:
 * Update comments in libCMMLParse/CMMLParser
 * Make libOOOggChef work in release mode (note to self: never trust C++, STL and const when all used together)
 * Make CMMLDump link against the write library
 * Correct Release build settings for mod_oggchef


Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLParse/CMMLParser.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLParse/CMMLParser.cpp	2005-01-14 09:05:48 UTC (rev 8756)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLParse/CMMLParser.cpp	2005-01-14 11:05:01 UTC (rev 8757)
@@ -44,9 +44,10 @@
 
 using namespace std;
 
-// TODO: Properly parse preamble
+
 // TODO: i18n?
 
+
 CMMLParser::CMMLParser(void)
 {
 }
@@ -102,7 +103,7 @@
 
 	// XTag doesn't currently handle preambles, so we'll have to skip until we find
 	// a <cmml> tag which it can handle ... (note that XML is case-sensitive, so
-	// we don't need to scan for "<CMML"
+	// we don't need to scan for "<CMML")
 	size_t locCMMLTagIndex = locCMMLFileWString.find(L"<cmml", 0);
 	if (locCMMLTagIndex != string::npos) {
 		locCMMLFileWString = locCMMLFileWString.substr(locCMMLTagIndex);
@@ -173,7 +174,7 @@
 	// Narrow the text given us, so we can pass it to XTag
 	string locClipText = StringHelper::toNarrowStr(inClipText);
 
-	// Look for a <cmml> tag
+	// Look for a <clip> tag
 	XTag *locClipParser = NULL;
 	locClipParser = xtag_new_parse(locClipText.c_str(), (int)locClipText.size());
 	if (locClipParser) {

Modified: trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.cpp
===================================================================
--- trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.cpp	2005-01-14 09:05:48 UTC (rev 8756)
+++ trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.cpp	2005-01-14 11:05:01 UTC (rev 8757)
@@ -64,13 +64,16 @@
 									 BufferWriter inBufferWriter,
 									 void* inBufferWriterUserData,
 									 string inCachedSeekTableFilename)
-	:	mFilename(inFilename)
-	,	mDemuxState(SEEN_NOTHING)
+	:	mDemuxState(SEEN_NOTHING)
 	,	mDemuxParserState(LOOK_FOR_HEADERS)
 	,	mBufferWriter(inBufferWriter)
 	,	mBufferWriterUserData(inBufferWriterUserData)
-	,	mCachedSeekTableFilename(inCachedSeekTableFilename)
 {
+	// These need to go in the constructor body, because we can't assign
+	// strings in the initialiser list
+	
+	mFilename = inFilename;
+	mCachedSeekTableFilename = inCachedSeekTableFilename;
 }
 
 AnnodexRecomposer::~AnnodexRecomposer(void)

Modified: trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.h
===================================================================
--- trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.h	2005-01-14 09:05:48 UTC (rev 8756)
+++ trunk/oggdsf/src/lib/helper/libOOOggChef/AnnodexRecomposer.h	2005-01-14 11:05:01 UTC (rev 8757)
@@ -49,7 +49,7 @@
 {
 public:
 	AnnodexRecomposer(void);
-	AnnodexRecomposer(string inFilename, BufferWriter inBufferWriter, void* inBufferWriterUserData, const string inCachedSeekTableFilename = "");
+	AnnodexRecomposer(string inFilename, BufferWriter inBufferWriter, void* inBufferWriterUserData, string inCachedSeekTableFilename = "");
 	~AnnodexRecomposer(void);
 
 	bool recomposeStreamFrom(double inStartingTimeOffset, const vector<string>* inWantedMIMETypes);

Modified: trunk/oggdsf/src/lib/helper/libOOOggChef/CMMLRecomposer.cpp
===================================================================
--- trunk/oggdsf/src/lib/helper/libOOOggChef/CMMLRecomposer.cpp	2005-01-14 09:05:48 UTC (rev 8756)
+++ trunk/oggdsf/src/lib/helper/libOOOggChef/CMMLRecomposer.cpp	2005-01-14 11:05:01 UTC (rev 8757)
@@ -157,6 +157,20 @@
 
 		// Indicate success to our callee
 		locReturnValue = true;
+	} else {
+		// The user didn't want CMML, i.e. they'll be wanting media.  We scan the
+		// CMML file for the <stream> tag, to see if it imports any media -- if it
+		// does, we'll have to figure out what MIME types the media files are (and
+		// perhaps mux them) so that the the user gets it in the form they want.
+		//
+		// e.g. if the user requests an application/x-annodex file, the CMML
+		// <stream> tag has an import expression pointing to a Vorbis file, and
+		// another import expression pointing to a Theora file, we need to mux
+		// those two files together, add an empty CMML track (so it's a valid
+		// Annodex file), and then send that to the user -- possibly only from
+		// a particular time offset.  Fun!
+
+
 	}
 
 #if 0

Modified: trunk/oggdsf/src/tools/CMMLDump/CMMLDump.vcproj
===================================================================
--- trunk/oggdsf/src/tools/CMMLDump/CMMLDump.vcproj	2005-01-14 09:05:48 UTC (rev 8756)
+++ trunk/oggdsf/src/tools/CMMLDump/CMMLDump.vcproj	2005-01-14 11:05:01 UTC (rev 8757)
@@ -70,7 +70,7 @@
 				Name="VCCLCompilerTool"
 				AdditionalIncludeDirectories="..\..\lib\core\ogg;.;..\..\lib\helper;..\..\lib\codecs\cmml"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
+				RuntimeLibrary="0"
 				UsePrecompiledHeader="3"
 				WarningLevel="4"
 				Detect64BitPortabilityProblems="TRUE"

Modified: trunk/oggdsf/src/tools/mod_oggchef/mod_oggchef.vcproj
===================================================================
--- trunk/oggdsf/src/tools/mod_oggchef/mod_oggchef.vcproj	2005-01-14 09:05:48 UTC (rev 8756)
+++ trunk/oggdsf/src/tools/mod_oggchef/mod_oggchef.vcproj	2005-01-14 11:05:01 UTC (rev 8757)
@@ -67,15 +67,26 @@
 		</Configuration>
 		<Configuration
 			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
+			OutputDirectory="$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="2"
-			CharacterSet="2">
+			CharacterSet="2"
+			WholeProgramOptimization="TRUE">
 			<Tool
 				Name="VCCLCompilerTool"
+				Optimization="3"
+				GlobalOptimizations="TRUE"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="TRUE"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="TRUE"
+				OptimizeForProcessor="3"
 				AdditionalIncludeDirectories="..\..\lib\helper;..\..\lib\core\ogg;&quot;C:\Program Files\Apache Group\Apache2\include&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+				StringPooling="TRUE"
+				MinimalRebuild="FALSE"
 				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="TRUE"
 				UsePrecompiledHeader="0"
 				WarningLevel="4"
 				Detect64BitPortabilityProblems="TRUE"
@@ -86,16 +97,18 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalOptions="/NODEFAULTLIB:library"
-				AdditionalDependencies="libapr.lib libaprutil.lib libhttpd.lib apr.lib aprutil.lib"
+				AdditionalDependencies="libhttpd.lib libapr.lib"
 				OutputFile="$(OutDir)/mod_oggchef.so"
 				LinkIncremental="1"
 				AdditionalLibraryDirectories="&quot;C:\Program Files\Apache Group\Apache2\lib&quot;"
 				IgnoreAllDefaultLibraries="FALSE"
-				IgnoreDefaultLibraryNames="MSVCRT"
+				IgnoreDefaultLibraryNames=""
 				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="$(OutDir)/mod_oggchef.pdb"
 				SubSystem="2"
 				OptimizeReferences="2"
 				EnableCOMDATFolding="2"
+				OptimizeForWindows98="1"
 				TargetMachine="1"/>
 			<Tool
 				Name="VCMIDLTool"/>



More information about the commits mailing list