[xiph-commits] r8055 - in trunk/oggdsf: src/lib/codecs/theora/libs/libOOTheora src/lib/codecs/vorbis/filters/dsfVorbisDecoder src/tools/CLOgg website

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Tue Oct 19 03:24:25 PDT 2004


Author: illiminable
Date: 2004-10-19 03:24:24 -0700 (Tue, 19 Oct 2004)
New Revision: 8055

Modified:
   trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraDecoder.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
   trunk/oggdsf/src/tools/CLOgg/CLOgg.cpp
   trunk/oggdsf/website/index.html
Log:
* More leaks removed.

Modified: trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraDecoder.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraDecoder.cpp	2004-10-19 07:15:34 UTC (rev 8054)
+++ trunk/oggdsf/src/lib/codecs/theora/libs/libOOTheora/TheoraDecoder.cpp	2004-10-19 10:24:24 UTC (rev 8055)
@@ -65,6 +65,7 @@
 		}
 			ogg_packet* locOldPack = simulateOldOggPacket(inPacket);		//Accepts the packet and deletes it.
 			theora_decode_packetin(&mTheoraState, locOldPack);
+			delete locOldPack->packet;
 			delete locOldPack;
 			
 			int locRetVal = theora_decode_YUVout(&mTheoraState, &mYUVBuffer);
@@ -100,6 +101,7 @@
 	ogg_packet* locOldPack = simulateOldOggPacket(inHeaderPacket);		//Accepts packet and deletes it.
 	theora_decode_header(&mTheoraInfo, &mTheoraComment, locOldPack);
 
+	delete locOldPack->packet;
 	delete locOldPack;
 	mPacketCount++;
 	return true;

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp	2004-10-19 07:15:34 UTC (rev 8054)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp	2004-10-19 10:24:24 UTC (rev 8055)
@@ -67,12 +67,12 @@
 {
 	DbgLog((LOG_TRACE,1,TEXT("Vorbis Constructor...")));
 	//Output pin must be done first because it's passed to the input pin.
-	mOutputPin = new VorbisDecodeOutputPin(this, m_pLock);
+	mOutputPin = new VorbisDecodeOutputPin(this, m_pLock);			//Deleted in base class destructor
 
-	CMediaType* locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio);
+	CMediaType* locAcceptMediaType = new CMediaType(&MEDIATYPE_Audio);		//Deleted in pin destructor
 	locAcceptMediaType->subtype = MEDIASUBTYPE_Vorbis;
 	locAcceptMediaType->formattype = FORMAT_Vorbis;
-	mInputPin = new VorbisDecodeInputPin(this, m_pLock, mOutputPin, locAcceptMediaType);
+	mInputPin = new VorbisDecodeInputPin(this, m_pLock, mOutputPin, locAcceptMediaType);	//Deleted in base class filter destructor.
 	return true;
 }
 
@@ -102,6 +102,6 @@
 void VorbisDecodeFilter::setVorbisFormat(sVorbisFormatBlock* inFormatBlock) 
 {
 	delete mVorbisFormatInfo;
-	mVorbisFormatInfo = new sVorbisFormatBlock;
+	mVorbisFormatInfo = new sVorbisFormatBlock;				//Deleted in destructor.
 	*mVorbisFormatInfo = *inFormatBlock;
 }
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2004-10-19 07:15:34 UTC (rev 8054)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2004-10-19 10:24:24 UTC (rev 8055)
@@ -55,7 +55,7 @@
 	return CBaseInputPin::NonDelegatingQueryInterface(riid, ppv); 
 }
 bool VorbisDecodeInputPin::ConstructCodec() {
-	mFishSound = fish_sound_new (FISH_SOUND_DECODE, &mFishInfo);
+	mFishSound = fish_sound_new (FISH_SOUND_DECODE, &mFishInfo);			//Deleted by destroycodec from destructor.
 
 	int i = 1;
 	//FIX::: Use new API for interleave setting

Modified: trunk/oggdsf/src/tools/CLOgg/CLOgg.cpp
===================================================================
--- trunk/oggdsf/src/tools/CLOgg/CLOgg.cpp	2004-10-19 07:15:34 UTC (rev 8054)
+++ trunk/oggdsf/src/tools/CLOgg/CLOgg.cpp	2004-10-19 10:24:24 UTC (rev 8055)
@@ -44,10 +44,11 @@
 	HRESULT locHR;
 	CoInitialize(NULL);
 	locHR = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&locGraphBuilder);
-	locHR = locGraphBuilder->RenderFile(L"g:\\m.ogg", NULL);
+	locHR = locGraphBuilder->RenderFile(L"g:\\a.ogg", NULL);
 
 	locHR = locGraphBuilder->QueryInterface(IID_IMediaControl, (void**)&locMediaControl);
 
+
 	locHR = locMediaControl->Run();
 
 	IMediaEvent* locMediaEvent = NULL;

Modified: trunk/oggdsf/website/index.html
===================================================================
--- trunk/oggdsf/website/index.html	2004-10-19 07:15:34 UTC (rev 8054)
+++ trunk/oggdsf/website/index.html	2004-10-19 10:24:24 UTC (rev 8055)
@@ -235,7 +235,7 @@
 </DIV>
 </FONT>
 	<li>Core Media Player crashes if you add more than 510 ogg files (Thanks OpenSource 4ever)</li>
-	<li>Can't play files from a Windows network share drive (Thanks Hannes Kaesermann)</li>
+	<li>Can't play files from a Windows network share drive (Thanks Hannes Kaesermann and Frazer McCormack)</li>
 	<li>Can't seek in WMP 6.4 (Thanks RadicalEd)</li>
 	<li>You can't delete .ogg files in explorer because they are locked/in use. To fix this until the next version, run regedit and go to the registry key [HKEY_CLASSES_ROOT\.OGG\ShellEx] 
 		and delete it. This is left over from the Tobias filters, if you ever reinstall them, even if you uninstall, you'll have to do this again. (Thanks RadicalEd for reporting this)</li>



More information about the commits mailing list