[xiph-commits] r10398 - branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor

illiminable at svn.xiph.org illiminable at svn.xiph.org
Fri Nov 18 00:49:57 PST 2005


Author: illiminable
Date: 2005-11-18 00:49:50 -0800 (Fri, 18 Nov 2005)
New Revision: 10398

Modified:
   branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorFilter.cpp
   branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.cpp
   branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.h
   branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/oggrawaudioextractordllstuff.h
Log:
* Sync svn to current tree

Modified: branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorFilter.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorFilter.cpp	2005-11-18 04:07:17 UTC (rev 10397)
+++ branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorFilter.cpp	2005-11-18 08:49:50 UTC (rev 10398)
@@ -211,7 +211,8 @@
 
 			locStart = mInputPin->convertGranuleToTime(locEnd) - (((mBytesBuffered / locFrameSize) * UNITS) / locSampleRate);
 			do {
-				HRESULT locHR = mOutputPin->GetDeliveryBuffer(&locSample, NULL, NULL, NULL);
+				//HRESULT locHR = mOutputPin->GetDeliveryBuffer(&locSample, NULL, NULL, NULL);
+				HRESULT locHR = InitializeOutputSample(inSample, &locSample);
 				if (locHR != S_OK) {
 					return locHR;
 				}

Modified: branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.cpp	2005-11-18 04:07:17 UTC (rev 10397)
+++ branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.cpp	2005-11-18 08:49:50 UTC (rev 10398)
@@ -1,9 +1,41 @@
 #include ".\oggrawaudioextractoroutputpin.h"
 
-OggRawAudioExtractorOutputPin::OggRawAudioExtractorOutputPin(void)
+OggRawAudioExtractorOutputPin::OggRawAudioExtractorOutputPin(OggRawAudioExtractorFilter* inParentFilter)
+	:	CTransformOutputPin(NAME("PCMOut"), inParentFilter, &mHR, L"PCM Out Pin")
+	,	mDataQueue(NULL)
+	,	mHR(S_OK)
 {
 }
 
 OggRawAudioExtractorOutputPin::~OggRawAudioExtractorOutputPin(void)
 {
+	delete mDataQueue;
 }
+HRESULT OggRawAudioExtractorOutputPin::CompleteConnect(IPin *inReceivePin) 
+{
+	CAutoLock locLock(m_pLock);
+
+	
+	HRESULT locHR = S_OK;
+	mDataQueue = new COutputQueue (inReceivePin, &locHR, FALSE, FALSE, 1, TRUE, 50);			//Deleted in destructor
+
+	if (FAILED(locHR)) {
+		//Handle data Q failure
+		
+	}
+	
+	return CTransformOutputPin::CompleteConnect(inReceivePin);
+}
+
+HRESULT OggRawAudioExtractorOutputPin::BreakConnect(void) 
+{
+	CAutoLock locLock(m_pLock);
+
+	delete mDataQueue;
+	mDataQueue = NULL;
+
+	HRESULT locHR = CBaseOutputPin::BreakConnect();
+
+
+	return locHR;
+}
\ No newline at end of file

Modified: branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.h
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.h	2005-11-18 04:07:17 UTC (rev 10397)
+++ branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/OggRawAudioExtractorOutputPin.h	2005-11-18 08:49:50 UTC (rev 10398)
@@ -1,8 +1,17 @@
 #pragma once
-
+#include "oggrawaudioextractordllstuff.h"
 class OggRawAudioExtractorOutputPin
+	:	public CTransformOutputPin
 {
 public:
-	OggRawAudioExtractorOutputPin(void);
-	~OggRawAudioExtractorOutputPin(void);
+	friend class OggRawAudioExtractorFilter;
+	OggRawAudioExtractorOutputPin(OggRawAudioExtractorFilter* inParentFilter);
+	virtual ~OggRawAudioExtractorOutputPin(void);
+
+	HRESULT CompleteConnect(IPin *inReceivePin);
+	HRESULT BreakConnect(void);
+
+protected:
+	COutputQueue* mDataQueue;
+	HRESULT mHR;
 };

Modified: branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/oggrawaudioextractordllstuff.h
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/oggrawaudioextractordllstuff.h	2005-11-18 04:07:17 UTC (rev 10397)
+++ branches/oggdsf_new_demux/src/lib/codecs/RawAudio/dsfOggRawAudioExtractor/oggrawaudioextractordllstuff.h	2005-11-18 08:49:50 UTC (rev 10398)
@@ -28,6 +28,7 @@
 #include "libOOOgg/OggPacket.h"
 
 #include "OggRawAudioExtractorInputPin.h"
+#include "OggRawAudioExtractorOutputPin.h"
 
 #include "OggRawAudioExtractorFilter.h"
 



More information about the commits mailing list