[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