[xiph-commits] r8749 - trunk/oggdsf/src/lib/core/directshow/dsfOggMux

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Wed Jan 12 00:15:50 PST 2005


Author: illiminable
Date: 2005-01-12 00:15:49 -0800 (Wed, 12 Jan 2005)
New Revision: 8749

Modified:
   trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxFilter.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
Log:
* Added a lock for the eos message

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxFilter.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxFilter.h	2005-01-12 06:25:45 UTC (rev 8748)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxFilter.h	2005-01-12 08:15:49 UTC (rev 8749)
@@ -66,7 +66,11 @@
 	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 	static CUnknown * WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
 
-	//IAMFilterMiscFlags Implementation
+	// *********************************************
+	// ***** IAMFilterMiscFlags Implementation *****
+	// *********************************************
+
+	/// Allows the filter to return a flag to tell the graph it's a renderer.
 	ULONG STDMETHODCALLTYPE GetMiscFlags(void);
 
 	// ***************************************
@@ -109,6 +113,17 @@
 	/// Called when the graph stops
 	STDMETHODIMP Stop(void);
 
+	// ******************************************
+	// ***** IOggMuxProgress Implementation *****
+	// ******************************************
+
+	/// Returns the time in 100 nanosecond units of the last page that was written.
+	virtual STDMETHODIMP_(LONGLONG) getProgressTime();
+
+	/// Returns the number of bytes written so far.
+	virtual STDMETHODIMP_(LONGLONG) getBytesWritten();
+
+
 	//Helpers
 	virtual HRESULT addAnotherPin();
 	virtual void NotifyComplete();
@@ -116,12 +131,6 @@
 	//IMediaSeeking Override to give progress. - This is unreliable !!
 	virtual STDMETHODIMP GetPositions(LONGLONG *pCurrent, LONGLONG *pStop);
 	virtual STDMETHODIMP GetCurrentPosition(LONGLONG *pCurrent);
-
-	//IOggMuxProgress Implementation
-	virtual STDMETHODIMP_(LONGLONG) getProgressTime();
-	virtual STDMETHODIMP_(LONGLONG) getBytesWritten();
-
-
 protected:
 
 	bool SetupOutput();

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp	2005-01-12 06:25:45 UTC (rev 8748)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggMux/OggMuxInputPin.cpp	2005-01-12 08:15:49 UTC (rev 8749)
@@ -310,7 +310,7 @@
 
 
 STDMETHODIMP OggMuxInputPin::EndOfStream(void) {
-	
+	CAutoLock locLock(mParentFilter->mStreamLock);
 	mPaginator.finishStream();
 	mMuxStream->setIsEOS(true);
 	



More information about the commits mailing list