[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