[xiph-commits] r10454 - in branches/oggdsf_new_demux/src/lib/codecs: cmml/dsfCMMLDecoder theora/filters/dsfTheoraDecoder

illiminable at svn.xiph.org illiminable at svn.xiph.org
Sat Nov 26 06:43:10 PST 2005


Author: illiminable
Date: 2005-11-26 06:43:03 -0800 (Sat, 26 Nov 2005)
New Revision: 10454

Modified:
   branches/oggdsf_new_demux/src/lib/codecs/cmml/dsfCMMLDecoder/CMMLDecodeFilter.cpp
   branches/oggdsf_new_demux/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp
Log:
* Fix a memory bug in CMML filter
* Remove an assert in theora decoder

Modified: branches/oggdsf_new_demux/src/lib/codecs/cmml/dsfCMMLDecoder/CMMLDecodeFilter.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/cmml/dsfCMMLDecoder/CMMLDecodeFilter.cpp	2005-11-26 10:45:11 UTC (rev 10453)
+++ branches/oggdsf_new_demux/src/lib/codecs/cmml/dsfCMMLDecoder/CMMLDecodeFilter.cpp	2005-11-26 14:43:03 UTC (rev 10454)
@@ -259,7 +259,10 @@
 		locHR = inSample->GetPointer(&locInBuff);
 		memcpy((void*)locCMML, (const void*) locInBuff, locSize);
 		//debugLog<<"           : Sample Text = "<<locCMML<<endl<<endl;
-		locWCMML = toWStr(locCMML);
+
+		string locNarrowCMML = locCMML;
+		delete[] locCMML;
+		locWCMML = toWStr(locNarrowCMML);
 		if (mSeenHead == false) {
 			//debugLog << "           : Processing a head tag"<<endl;
 			//Head tag... needs error checks
@@ -325,13 +328,13 @@
 
 			} else {
 				//debugLog<<"          : Parse FAILED"<<endl;
-				delete[] locCMML;
+				//delete[] locCMML;
 				return S_FALSE;
 			}
 		}
 
 		//debugLog<<"Returning... "<<endl<<endl;
-		delete[] locCMML;
+		//delete[] locCMML;
 		return S_OK;
 
 	} else {

Modified: branches/oggdsf_new_demux/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp	2005-11-26 10:45:11 UTC (rev 10453)
+++ branches/oggdsf_new_demux/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeFilter.cpp	2005-11-26 14:43:03 UTC (rev 10454)
@@ -677,7 +677,9 @@
 	//NEW WAY with offsets Y Data
 	long locTopPad = inYUVBuffer->y_height - mHeight - mYOffset;
 	//debugLog<<"--------- PAD = "<<locTopPad<<endl;
-	ASSERT(locTopPad >= 0);
+
+
+	//ASSERT(locTopPad >= 0);
 	if (locTopPad < 0) {
 		locTopPad = 0;
 	} else {



More information about the commits mailing list