[xiph-commits] r8529 - in trunk/oggdsf/src/lib/core/directshow:
dsfOggDemux dsfSubtitleVMR9
illiminable at motherfish-iii.xiph.org
illiminable at motherfish-iii.xiph.org
Thu Dec 23 02:18:21 PST 2004
Author: illiminable
Date: 2004-12-23 02:18:20 -0800 (Thu, 23 Dec 2004)
New Revision: 8529
Modified:
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.cpp
trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.h
Log:
* Fixed crash when you try and loop annodex or play to end... the Subtitle VMR9 renderer is screwed, no-one uses it anyway... so it's basically disabled, returning immediately from any receive calls, instead of blocking until the presentation time.
Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp 2004-12-23 09:44:30 UTC (rev 8528)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp 2004-12-23 10:18:20 UTC (rev 8529)
@@ -530,9 +530,9 @@
}
void OggDemuxSourceFilter::DeliverEOS()
{
-
+ mStreamMapper->toStartOfData();
for (unsigned long i = 0; i < mStreamMapper->numStreams(); i++) {
- mStreamMapper->getOggStream(i)->flush();
+ //mStreamMapper->getOggStream(i)->flush();
mStreamMapper->getOggStream(i)->getPin()->DeliverEndOfStream();
}
@@ -693,6 +693,7 @@
CallWorker(THREAD_EXIT);
Close();
DeliverBeginFlush();
+ mSetIgnorePackets = true;
DeliverEndFlush();
return CBaseFilter::Stop();
Modified: trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.cpp 2004-12-23 09:44:30 UTC (rev 8528)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.cpp 2004-12-23 10:18:20 UTC (rev 8529)
@@ -58,6 +58,13 @@
return pNewObject;
}
+//***********************&!*(#&$()*&!@()*#&!@()*#&()!@*&#)(!@*&#()*!@&#)(*!@&#)*(!@
+//This esentially disables the filter...
+HRESULT SubtitleVMR9Filter::Receive(IMediaSample *pMediaSample) {
+ return S_OK;
+}
+//&)(*Q&#$()*!@&#$()!*@&#)(*!@&#)(*!@&#)(*&!@)#(*&!@)(#*&()!@*#&)(!*@&#()!*@&#()!@*&#
+
SubtitleVMR9Filter::SubtitleVMR9Filter(void)
: CBaseRenderer(CLSID_SubtitleVMR9Filter, NAME("Subtitle VMR9 Filter") ,NULL,&mHR)
, mBitmapMixer(NULL)
Modified: trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.h 2004-12-23 09:44:30 UTC (rev 8528)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/SubtitleVMR9Filter.h 2004-12-23 10:18:20 UTC (rev 8529)
@@ -76,6 +76,10 @@
virtual STDMETHODIMP GetState(DWORD dw, FILTER_STATE *pState);
+ //AKLSJFDLAKSJDL:ASKJD:LKAJSDL:KJSAD:KLJS
+ //This method is disabling the filter...
+ HRESULT SubtitleVMR9Filter::Receive(IMediaSample *pMediaSample);
+ //asdfasdfasdfaskldjf;lkasjdfl;kasjdf;kl
protected:
More information about the commits
mailing list