STDMETHODIMP CMediaEventGenerator::InitMediaEventGenerator( void ) { return MFCreateEventQueue(&m_pQueue); }
HRESULT FlvStream::RuntimeClassInitialize(IMFMediaSourceExt *pSource, IMFStreamDescriptor *pSD) { source = pSource;//出现互相引用的情况,所以不addref stream_descriptor = pSD; assert(pSource != NULL && pSD != NULL); // Create the media event queue. return MFCreateEventQueue(&event_queue); }
WavSource::WavSource(HRESULT& hr) : m_nRefCount(1), m_pEventQueue(NULL), m_pPresentationDescriptor(NULL), m_IsShutdown(FALSE), m_state(STATE_STOPPED), m_pStream(NULL), m_pRiff(NULL) { DllAddRef(); // Create the media event queue. hr = MFCreateEventQueue(&m_pEventQueue); InitializeCriticalSection(&m_critSec); }
MPEG1Stream::MPEG1Stream(MPEG1Source *pSource, IMFStreamDescriptor *pSD, HRESULT& hr) : m_pEventQueue(NULL), m_state(STATE_STOPPED), m_bActive(FALSE), m_bEOS(FALSE) { assert(pSource != NULL); assert(pSD != NULL); m_pSource = pSource; m_pSource->AddRef(); m_pStreamDescriptor = pSD; m_pStreamDescriptor->AddRef(); // Create the media event queue. hr = MFCreateEventQueue(&m_pEventQueue); }
WavStream::WavStream(WavSource *pSource, CWavRiffParser *pRiff, IMFStreamDescriptor *pSD, HRESULT& hr) : m_nRefCount(1), m_pEventQueue(NULL), m_IsShutdown(FALSE), m_rtCurrentPosition(0), m_discontinuity(FALSE), m_EOS(FALSE) { m_pSource = pSource; m_pSource->AddRef(); m_pStreamDescriptor = pSD; m_pStreamDescriptor->AddRef(); m_pRiff = pRiff; // Create the media event queue. hr = MFCreateEventQueue(&m_pEventQueue); InitializeCriticalSection(&m_critSec); }
void CMPEG1Stream::Initialize() { // Create the media event queue. ThrowIfError(MFCreateEventQueue(&m_spEventQueue)); }
CTedTestStreamSink::CTedTestStreamSink() : m_pSink(NULL) , m_pMTH(NULL) { MFCreateEventQueue(&m_spMEQ); }