[xiph-commits] r7774 - in trunk/oggdsf: sln/oggdsf_all src/lib/codecs/theora/filters/dsfTheoraDecoder src/lib/core/directshow/dsfAbstractAudioDecoder src/lib/core/directshow/dsfOggDemux

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Fri Sep 17 07:19:28 PDT 2004


Author: illiminable
Date: 2004-09-17 07:19:28 -0700 (Fri, 17 Sep 2004)
New Revision: 7774

Modified:
   trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.h
   trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
Log:
* Fixed a bug when WMP activeX control is scripted in IE or other players. The code was redundant anyway. Thanks to Gernot Ziegler for reporting this and sending me some html to test it with.

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-09-17 14:19:28 UTC (rev 7774)
@@ -151,7 +151,6 @@
 		{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
 		{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
 		{6B20BD7A-644B-4087-9CAC-71B2D68D0231} = {6B20BD7A-644B-4087-9CAC-71B2D68D0231}
-		{053D669F-E874-44C6-9705-8A1DEF40C4E9} = {053D669F-E874-44C6-9705-8A1DEF40C4E9}
 		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
 	EndProjectSection
 EndProject

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.cpp	2004-09-17 14:19:28 UTC (rev 7774)
@@ -36,44 +36,44 @@
 TheoraDecodeInputPin::TheoraDecodeInputPin(CTransformFilter* inParentFilter, HRESULT* outHR) 
 	:	CTransformInputPin(NAME("Theora Input Pin"), inParentFilter, outHR, L"Theora In")
 {
-	//debugLog.open("G:\\logs\\theoinput.log", ios_base::out);
+	debugLog.open("G:\\logs\\theoinput.log", ios_base::out);
 }
 TheoraDecodeInputPin::~TheoraDecodeInputPin() {
-	//debugLog.close();
+	debugLog.close();
 }
 
-//STDMETHODIMP TheoraDecodeInputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
-//	debugLog<<"Querying interface"<<endl;
-//	if (riid == IID_IMediaSeeking) {
-//		debugLog<<"Got Seeker"<<endl;
-//		*ppv = (IMediaSeeking*)this;
-//		((IUnknown*)*ppv)->AddRef();
-//		
-//		return NOERROR;
-//	}
-//
-//	return CTransformInputPin::NonDelegatingQueryInterface(riid, ppv); 
-//}
+STDMETHODIMP TheoraDecodeInputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
+	debugLog<<"Querying interface"<<endl;
+	if (riid == IID_IMediaSeeking) {
+		debugLog<<"Got Seeker"<<endl;
+		*ppv = (IMediaSeeking*)this;
+		((IUnknown*)*ppv)->AddRef();
+		
+		return NOERROR;
+	}
 
-//HRESULT TheoraDecodeInputPin::BreakConnect() {
-//	CAutoLock locLock(m_pLock);
-//	debugLog<<"Break conenct"<<endl;
-//	//Need a lock ??
-//	ReleaseDelegate();
-//	return CTransformInputPin::BreakConnect();
-//}
-//HRESULT TheoraDecodeInputPin::CompleteConnect (IPin *inReceivePin) {
-//	CAutoLock locLock(m_pLock);
-//	debugLog<<"Complete conenct"<<endl;
-//	IMediaSeeking* locSeeker = NULL;
-//	inReceivePin->QueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
-//	if (locSeeker == NULL) {
-//		debugLog<<"Seeker is null"<<endl;
-//	}
-//	SetDelegate(locSeeker);
-//	return CTransformInputPin::CompleteConnect(inReceivePin);
-//}
+	return CTransformInputPin::NonDelegatingQueryInterface(riid, ppv); 
+}
 
+HRESULT TheoraDecodeInputPin::BreakConnect() {
+	CAutoLock locLock(m_pLock);
+	debugLog<<"Break conenct"<<endl;
+	//Need a lock ??
+	ReleaseDelegate();
+	return CTransformInputPin::BreakConnect();
+}
+HRESULT TheoraDecodeInputPin::CompleteConnect (IPin *inReceivePin) {
+	CAutoLock locLock(m_pLock);
+	debugLog<<"Complete conenct"<<endl;
+	IMediaSeeking* locSeeker = NULL;
+	inReceivePin->QueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
+	if (locSeeker == NULL) {
+		debugLog<<"Seeker is null"<<endl;
+	}
+	SetDelegate(locSeeker);
+	return CTransformInputPin::CompleteConnect(inReceivePin);
+}
+
 //----------------------
 //OLD IMPLEMENTATION
 //----------------------

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.h	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeInputPin.h	2004-09-17 14:19:28 UTC (rev 7774)
@@ -37,7 +37,7 @@
 using namespace std;
 class TheoraDecodeInputPin 
 	:	public CTransformInputPin
-	//,	public BasicSeekable
+	,	public BasicSeekable
 {
 public:
 
@@ -45,14 +45,14 @@
 	virtual ~TheoraDecodeInputPin();
 
 	//COM Guff
-	//DECLARE_IUNKNOWN
-	//STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+	DECLARE_IUNKNOWN
+	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 
 	//Overrides
-	//virtual HRESULT BreakConnect();
-	//virtual HRESULT CompleteConnect (IPin *inReceivePin);
+	virtual HRESULT BreakConnect();
+	virtual HRESULT CompleteConnect (IPin *inReceivePin);
 
-	//fstream debugLog;
+	fstream debugLog;
 };
 //----------------------
 //OLD IMPLEMENTATION

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.cpp	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.cpp	2004-09-17 14:19:28 UTC (rev 7774)
@@ -37,45 +37,45 @@
 TheoraDecodeOutputPin::TheoraDecodeOutputPin(CTransformFilter* inParentFilter, HRESULT* outHR) 
 	:	CTransformOutputPin(NAME("Theora Output Pin"), inParentFilter, outHR, L"YV12 Out")
 {
-	//debugLog.open("G:\\logs\\theooutput.log", ios_base::out);
+	debugLog.open("G:\\logs\\theooutput.log", ios_base::out);
 }
 TheoraDecodeOutputPin::~TheoraDecodeOutputPin() {
-	//debugLog.close();
+	debugLog.close();
 }
 
-//STDMETHODIMP TheoraDecodeOutputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
-//	debugLog<<"Querying interface"<<endl;
-//	if (riid == IID_IMediaSeeking) {
-//		debugLog<<"Got seekeer"<<endl;
-//		*ppv = (IMediaSeeking*)this;
-//		((IUnknown*)*ppv)->AddRef();
-//		
-//		return NOERROR;
-//	}
-//
-//	return CTransformOutputPin::NonDelegatingQueryInterface(riid, ppv); 
-//}
+STDMETHODIMP TheoraDecodeOutputPin::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
+	debugLog<<"Querying interface"<<endl;
+	if (riid == IID_IMediaSeeking) {
+		debugLog<<"Got seekeer"<<endl;
+		*ppv = (IMediaSeeking*)this;
+		((IUnknown*)*ppv)->AddRef();
+		
+		return NOERROR;
+	}
 
-//HRESULT TheoraDecodeOutputPin::BreakConnect() {
-//	CAutoLock locLock(m_pLock);
-//	//Need a lock ??
-//	ReleaseDelegate();
-//	debugLog<<"Break connect"<<endl;
-//	return CTransformOutputPin::BreakConnect();
-//}
-//HRESULT TheoraDecodeOutputPin::CompleteConnect (IPin *inReceivePin) {
-//	CAutoLock locLock(m_pLock);
-//	debugLog<<"Complete connect"<<endl;
-//	IMediaSeeking* locSeeker = NULL;
-//
-//	m_pFilter->GetPin(0)->QueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
-//
-//	if (locSeeker == NULL) {
-//		debugLog<<"Seeker was NULL"<<endl;
-//	}
-//	SetDelegate(locSeeker);
-//	return CTransformOutputPin::CompleteConnect(inReceivePin);
-//}
+	return CTransformOutputPin::NonDelegatingQueryInterface(riid, ppv); 
+}
+
+HRESULT TheoraDecodeOutputPin::BreakConnect() {
+	CAutoLock locLock(m_pLock);
+	//Need a lock ??
+	ReleaseDelegate();
+	debugLog<<"Break connect"<<endl;
+	return CTransformOutputPin::BreakConnect();
+}
+HRESULT TheoraDecodeOutputPin::CompleteConnect (IPin *inReceivePin) {
+	CAutoLock locLock(m_pLock);
+	debugLog<<"Complete connect"<<endl;
+	IMediaSeeking* locSeeker = NULL;
+
+	m_pFilter->GetPin(0)->QueryInterface(IID_IMediaSeeking, (void**)&locSeeker);
+
+	if (locSeeker == NULL) {
+		debugLog<<"Seeker was NULL"<<endl;
+	}
+	SetDelegate(locSeeker);
+	return CTransformOutputPin::CompleteConnect(inReceivePin);
+}
 //----------------------
 //OLD IMPLEMENTATION
 //----------------------

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.h	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraDecoder/TheoraDecodeOutputPin.h	2004-09-17 14:19:28 UTC (rev 7774)
@@ -37,7 +37,7 @@
 using namespace std;
 class TheoraDecodeOutputPin 
 	:	public CTransformOutputPin
-	//,	public BasicSeekable
+	,	public BasicSeekable
 {
 public:
 	//COnstructors
@@ -45,14 +45,14 @@
 	virtual ~TheoraDecodeOutputPin();
 
 	//COM Guff
-	//DECLARE_IUNKNOWN
-	//STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+	DECLARE_IUNKNOWN
+	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 
 	//Overrides
-	//virtual HRESULT BreakConnect();
-	//virtual HRESULT CompleteConnect (IPin *inReceivePin);
+	virtual HRESULT BreakConnect();
+	virtual HRESULT CompleteConnect (IPin *inReceivePin);
 
-	//fstream debugLog;
+	fstream debugLog;
 };
 //----------------------
 //OLD IMPLEMENTATION

Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp	2004-09-17 14:19:28 UTC (rev 7774)
@@ -83,11 +83,11 @@
 }	
 
 void AbstractAudioDecodeFilter::SetStartToNow() {
-	IReferenceClock* locRefClock = NULL;
-	HRESULT locHR = GetSyncSource(&locRefClock);
-	LONGLONG locCurrentTime;
-	locRefClock->GetTime(&locCurrentTime);
-	locRefClock->Release();
+	//IReferenceClock* locRefClock = NULL;
+	//HRESULT locHR = GetSyncSource(&locRefClock);
+	//LONGLONG locCurrentTime;
+	//locRefClock->GetTime(&locCurrentTime);
+	//locRefClock->Release();
 
-	m_tStart = locCurrentTime;
+	//m_tStart = locCurrentTime;
 }
\ No newline at end of file

Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp	2004-09-17 14:19:28 UTC (rev 7774)
@@ -222,7 +222,7 @@
 STDMETHODIMP AbstractAudioDecodeInputPin::NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) {
 	CAutoLock locLock(mStreamLock);
 	ResetFrameCount();
-	mParentFilter->SetStartToNow();
+	//mParentFilter->SetStartToNow();
 	CBasePin::NewSegment(tStart, tStop, dRate);
 	return mParentFilter->mOutputPin->DeliverNewSegment(tStart, tStop, dRate);
 }

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp	2004-09-16 17:31:32 UTC (rev 7773)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp	2004-09-17 14:19:28 UTC (rev 7774)
@@ -322,7 +322,7 @@
 			mStreamMapper->getOggStream(i)->setLastEndGranPos(*pCurrent);
 		}
 		{
-//			CAutoLock locStreamLock(mStreamLock);
+			//			CAutoLock locStreamLock(mStreamLock);
 			//debugLog<<"       : Delivering End Flush..."<<endl;
 			DeliverEndFlush();
 			//debugLog<<"       : End flush Delviered."<<endl;
@@ -537,13 +537,15 @@
 	//debugLog<<"DeliverNewSegment : Delivering start = "<<tStart<<" end = "<< tStop<<"rate = "<<dRate<<endl;
 
 
-	IReferenceClock* locRefClock = NULL;
-	HRESULT locHR = GetSyncSource(&locRefClock);
-	LONGLONG locCurrentTime;
-	locRefClock->GetTime(&locCurrentTime);
+	//Testing
+	//IReferenceClock* locRefClock = NULL;
+	//HRESULT locHR = GetSyncSource(&locRefClock);
+	//LONGLONG locCurrentTime;
+	//locRefClock->GetTime(&locCurrentTime);
 
 	
-	m_tStart = locCurrentTime;
+	//m_tStart = locCurrentTime;
+	//end testing... uncomment lines after test.
 	
 	for (unsigned long i = 0; i < mStreamMapper->numStreams(); i++) {
 		mStreamMapper->getOggStream(i)->getPin()->DeliverNewSegment(tStart, tStop, dRate);



More information about the commits mailing list