[xiph-commits] r8057 - in trunk/oggdsf/src/lib/core/directshow:
dsfAbstractAudioDecoder dsfOggDemux
illiminable at motherfish-iii.xiph.org
illiminable at motherfish-iii.xiph.org
Tue Oct 19 05:57:05 PDT 2004
Author: illiminable
Date: 2004-10-19 05:57:05 -0700 (Tue, 19 Oct 2004)
New Revision: 8057
Modified:
trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeOutputPin.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourcePin.cpp
Log:
* Removed queues and threads from audio decoder outputs... that seemed to fix a COM interface leak... no idea why... but it works.
* All runtime debug warnings eliminated.
* Memory usage considerably less in playback.
* Still appears to be a leak somewhere, triggered by seeks.
Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeOutputPin.cpp 2004-10-19 11:39:06 UTC (rev 8056)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeOutputPin.cpp 2004-10-19 12:57:05 UTC (rev 8057)
@@ -184,7 +184,7 @@
mParentFilter->mInputPin->NonDelegatingQueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
SetDelegate(locSeeker);
//
- mDataQueue = new COutputQueue (inReceivePin, &locHR, FALSE, TRUE, 1, TRUE, 20); //Deleted in destructor
+ mDataQueue = new COutputQueue (inReceivePin, &locHR, FALSE, FALSE, 1, TRUE, 20); //Deleted in destructor
if (FAILED(locHR)) {
locHR = locHR;
}
Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourcePin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourcePin.cpp 2004-10-19 11:39:06 UTC (rev 8056)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourcePin.cpp 2004-10-19 12:57:05 UTC (rev 8057)
@@ -130,6 +130,9 @@
locSample->SetActualDataLength(inPacket->packetSize());
locHR = mDataQueue->Receive(locSample);
+
+ //REF_CHECK::: In theory should release here.
+ //The sample has ref_count of 1 by virtue of it's creation... we should release that 1 ref count here.
if (locHR != S_OK) {
//debugLog << "Failure... Queue rejected sample..."<<endl;
More information about the commits
mailing list