请问陆老师,如何识别视频流的媒体类型??

davidliu63 2006-04-25 01:36:19
改写BALL.ax 实现读文件字节流 PUSH到下一个SPLITER FILTER,不知道在什么地方这些字节流的媒体类型,(SetMediaType,GetMediaType,CheckMediaType到底有什么用)谢谢
class CRMSourceStream : public CSourceStream
{

public:

CRMSourceStream(HRESULT *phr, CRMSource *pParent, LPCWSTR pPinName);
~CRMSourceStream();

// plots a ball into the supplied video frame
HRESULT FillBuffer(IMediaSample *pms);

// Ask for buffers of the size appropriate to the agreed media type
HRESULT DecideBufferSize(IMemAllocator *pIMemAlloc,
ALLOCATOR_PROPERTIES *pProperties);

// Set the agreed media type, and set up the necessary ball parameters
HRESULT SetMediaType(const CMediaType *pMediaType);

HRESULT GetMediaType(CMediaType *pmt);

HRESULT CheckMediaType(const CMediaType *pMediaType);
}
...全文
174 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
UDX协议 2006-04-26
  • 打赏
  • 举报
回复
通过查找注册表。
davidliu63 2006-04-25
  • 打赏
  • 举报
回复
谢谢,字节流的媒体类型有什么方法可以知道?
happydeer 2006-04-25
  • 打赏
  • 举报
回复
"改写BALL.ax 实现读文件字节流 PUSH到下一个SPLITER FILTER"
-> 这里有个问题,因为你的source filter工作在push模式,那么后面的splitter filter也要支持push模式。但大部分splitter filter只支持pull模式,他的input pin上实现了一个去source filter拉数据的线程。


GetMediaType是你必须实现的一个函数,描述source filter的output pin输出的数据类型。pin连接的时候会调用这个函数。至于media type怎么写,取决于你的source filter输出的是什么类型的数据。比如是mpeg、avi、rm等,他们都有自己的格式,要去参考他们各自的格式说明书。

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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