谁有DirectShow的Filter,专门负责网络AV流的发送和接收?告诉我如何写也可以

cxf1976 2003-10-20 06:46:20
多谢
...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxf1976 2003-10-31
  • 打赏
  • 举报
回复
呵呵,很感谢。
tserpent 2003-10-29
  • 打赏
  • 举报
回复
不好意思,涉及公司的代码。
cxf1976 2003-10-29
  • 打赏
  • 举报
回复
能否给一个简单而又完整的视频会议系统源代码给我看看,有设计文档也可以。多谢了。
tserpent 2003-10-27
  • 打赏
  • 举报
回复
给你一个简单的我写的例子,只要实现这些函数就可以了
1.) source filter, 在FillBuffer()中收包
class CXXXSourcePin : public CSourceStream
{
public:
CXXXSourcePin(HRESULT *phr,CSource *pms);
virtual ~CXXXSourcePin();

public:

public:
virtual HRESULT FillBuffer(IMediaSample *pSample);

virtual HRESULT DecideBufferSize(IMemAllocator *pAlloc,ALLOCATOR_PROPERTIES *ppropInputRequest);

virtual HRESULT GetMediaType(CMediaType *pMediaType);

// virtual HRESULT CheckMediaType(const CMediaType *pMediaType);
protected:
unsigned char m_recvBuffer[2048];
int m_recvLength;
};

////////////////////////////////////////////////////////////////////
//class CXXXSource
///////////////////////////////////////////////////////////////////
class CXXXSource : public CSource
{
public:

DECLARE_IUNKNOWN;

CXXXSource(IUnknown *pUnk, HRESULT *phr);
virtual ~CXXXSource();

public:

protected:
CXXXSourcePin* m_pMPEG4OutPin;

public:
static CUnknown * WINAPI CreateInstance(IUnknown *pUnk, HRESULT *phr);
};

2.) render filter, 在DoRenderSample()发包
class CXXXRender : public CBaseRenderer
{
public:

DECLARE_IUNKNOWN;

CXXXRender( IUnknown * pUnk, HRESULT * phr );
~CXXXRender( );
// DECLARE_IUNKNOWN

// make sure media type is what we want
//
HRESULT CheckMediaType( const CMediaType *pmtIn );

// have to ovverride this
//
HRESULT DoRenderSample( IMediaSample *pMediaSample );

// have to override this
//
HRESULT SetMediaType( const CMediaType *pmt );

public:

protected:

unsigned long m_sendLength;
unsigned char m_sendBuffer[2048];

public:

// only way to make one of these
//
static CUnknown * WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT *phr);

};
cxf1976 2003-10-26
  • 打赏
  • 举报
回复
DSNetWork也是一个
danfeng 2003-10-21
  • 打赏
  • 举报
回复
我也是研究陆其名的东西搞出来的
cxf1976 2003-10-21
  • 打赏
  • 举报
回复
陆其明的例子我要好好看。


baallily(风狐),你那个是不是陆其明的?
jian 2003-10-20
  • 打赏
  • 举报
回复
只考虑接收即可。发送方直接用数据源头原来的格式。

网络上流传一个陆其明的例子,差不多能满足你的要求。你的任务就是看懂其中的socket类,CDataAdmin类,和filter的创建播放过程。
baallily 2003-10-20
  • 打赏
  • 举报
回复
我有:)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧