amextra.h
资源名称:p2p_vod.rar [点击查看]
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:2k
源码类别:
P2P编程
开发平台:
Visual C++
- //------------------------------------------------------------------------------
- // File: AMExtra.h
- //
- // Desc: DirectShow base classes.
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
- #ifndef __AMEXTRA__
- #define __AMEXTRA__
- // Simple rendered input pin
- //
- // NOTE if your filter queues stuff before rendering then it may not be
- // appropriate to use this class
- //
- // In that case queue the end of stream condition until the last sample
- // is actually rendered and flush the condition appropriately
- class CRenderedInputPin : public CBaseInputPin
- {
- public:
- CRenderedInputPin(TCHAR *pObjectName,
- CBaseFilter *pFilter,
- CCritSec *pLock,
- HRESULT *phr,
- LPCWSTR pName);
- #ifdef UNICODE
- CRenderedInputPin(CHAR *pObjectName,
- CBaseFilter *pFilter,
- CCritSec *pLock,
- HRESULT *phr,
- LPCWSTR pName);
- #endif
- // Override methods to track end of stream state
- STDMETHODIMP EndOfStream();
- STDMETHODIMP EndFlush();
- HRESULT Active();
- HRESULT Run(REFERENCE_TIME tStart);
- protected:
- // Member variables to track state
- BOOL m_bAtEndOfStream; // Set by EndOfStream
- BOOL m_bCompleteNotified; // Set when we notify for EC_COMPLETE
- private:
- void DoCompleteHandling();
- };
- #endif // __AMEXTRA__