[xiph-commits] r10319 -
branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2
illiminable at svn.xiph.org
illiminable at svn.xiph.org
Tue Nov 1 07:49:44 PST 2005
Author: illiminable
Date: 2005-11-01 07:49:38 -0800 (Tue, 01 Nov 2005)
New Revision: 10319
Modified:
branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp
branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp
branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp
Log:
* Fix com circular refernce
Modified: branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp 2005-11-01 14:51:28 UTC (rev 10318)
+++ branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp 2005-11-01 15:49:38 UTC (rev 10319)
@@ -122,6 +122,10 @@
delete mStreamMapper;
delete mSeekTable;
//TODO::: Delete the locks
+
+ delete mDemuxLock;
+ delete mStreamLock;
+ delete mSourceFileLock;
}
//IMEdiaStreaming
STDMETHODIMP OggDemuxPacketSourceFilter::Run(REFERENCE_TIME tStart)
@@ -690,7 +694,7 @@
//debugLog<<"GetPreroll : HARD CODED TO 0"<<endl;
return S_OK;
}
-STDMETHODIMP OggDemuxPacketSourceFilter::IsUsingTimeFormat(const GUID *pFormat){
+STDMETHODIMP OggDemuxPacketSourceFilter::IsUsingTimeFormat(const GUID *pFormat) {
if (*pFormat == TIME_FORMAT_MEDIA_TIME) {
//debugLog<<"IsUsingTimeFormat : MEDIA TIME TRUE"<<endl;
return S_OK;
Modified: branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp 2005-11-01 14:51:28 UTC (rev 10318)
+++ branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourcePin.cpp 2005-11-01 15:49:38 UTC (rev 10319)
@@ -75,9 +75,13 @@
}
OggDemuxPacketSourcePin::~OggDemuxPacketSourcePin(void)
{
+ //Since we didn't addref the filter when we set the seek delegate onto it, we have to avoid
+ // it getting released, so set it to NULL, to avoid the destructor releasing it.
+ SetDelegate(NULL);
//delete[] mBOSAsFormatBlock;
//delete mBOSPage;
delete mIdentHeader;
+ delete mDataQueue;
delete mPacketiserLock;
Modified: branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp 2005-11-01 14:51:28 UTC (rev 10318)
+++ branches/oggdsf_new_demux/src/lib/core/directshow/dsfOggDemux2/OggStreamMapper.cpp 2005-11-01 15:49:38 UTC (rev 10319)
@@ -75,6 +75,7 @@
bool OggStreamMapper::addNewPin(OggPage* inOggPage)
{
OggDemuxPacketSourcePin* locNewPin = new OggDemuxPacketSourcePin(NAME("OggPageSourcePin"), mParentFilter, mParentFilterLock, inOggPage->getPacket(0)->clone(), inOggPage->header()->StreamSerialNo());
+ //locNewPin->AddRef();
delete inOggPage;
mPins.push_back(locNewPin);
return true;
More information about the commits
mailing list