cfilternetreceiver.h

来自「最近在学习directshow, Directshow实务精选的源代码」· C头文件 代码 · 共 52 行

H
52
字号
//
// CFilterNetReceiver.h
// Desc: Filter and interfaces implementation.
//

#ifndef __H_CFilterNetReceiver__
#define __H_CFilterNetReceiver__

#include "AsyncIo.h"
#include "AsyncRdr.h"
#include "INetReceiver.h"
#include "CNetStreamOut.h"

class CFilterNetReceiver : public CAsyncReader
						 , public INetReceiver
{
private:
	CNetStreamOut    mNetStream;

private:
	CFilterNetReceiver(LPUNKNOWN lpunk, HRESULT *phr);
	~CFilterNetReceiver();

public:
	static CUnknown * WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT *phr);
	DECLARE_IUNKNOWN;
	// Basic COM - used here to reveal our own interfaces
	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);

	STDMETHODIMP Run(REFERENCE_TIME tStart);
	STDMETHODIMP Pause();
	STDMETHODIMP Stop();

	HRESULT StartStreaming(void);
	HRESULT StopStreaming(void);

	HRESULT DecideOutputMediaType(long inMedia);
	BOOL IsFlushing(void);
	void PauseGraph(void);
	void RunGraph(void);

	// --- INetReceiver methods ---
	STDMETHODIMP SetStreamType(long inType);
	STDMETHODIMP SetSize(long inTotalSize, long inCheckOffset);
	STDMETHODIMP SetStreamSocket(SOCKET inSocket);
	STDMETHODIMP StartReceiving(void);
	STDMETHODIMP StopReceiving(void);
	STDMETHODIMP CanConnectToDownstream(void);
};

#endif // __H_CFilterNetReceiver__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?