使用自己写的SOURCE FILTER,Windows Media Video 9 格式的文件不能建立FILTER连接!

vencent 2005-10-25 04:15:49
我机器上装了WMV 9的CODEC了的!
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vencent 2005-11-07
  • 打赏
  • 举报
回复
恩,我已经解决了,谢谢各位!
ablewindy 2005-11-03
  • 打赏
  • 举报
回复
以上没替换好 m_type 都是 type
ablewindy 2005-11-03
  • 打赏
  • 举报
回复
type.SetType(&MEDIATYPE_Video);
type.SetSubtype(&WMMEDIASUBTYPE_WMV3);
type.SetFormatType(&FORMAT_VideoInfo);

m_type.bFixedSizeSamples = FALSE;
m_type.bTemporalCompression = TRUE;
m_type.pUnk = NULL;

VIDEOINFOHEADER *pVi = NULL;
pVi = (VIDEOINFOHEADER*)(type.AllocFormatBuffer(sizeof(VIDEOINFOHEADER)));
ZeroMemory(pVi, sizeof(VIDEOINFOHEADER));

pVi->bmiHeader.biCompression = WMCFOURCC_WMV3;
pVi->bmiHeader.biBitCount = 32;
pVi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
pVi->bmiHeader.biWidth = lWidth;
pVi->bmiHeader.biHeight = lHeight;
pVi->bmiHeader.biPlanes = 1;
pVi->bmiHeader.biSizeImage = GetBitmapSize(&pVi->bmiHeader);

SetRectEmpty(&(pVi->rcSource));
SetRectEmpty(&(pVi->rcTarget));

pVi->dwBitRate = (DWORD)lBitRate;
pVi->AvgTimePerFrame = UNITS/fps;
pVi->dwBitErrorRate = 0;

// 私有数据
type.ReallocFormatBuffer(sizeof(VIDEOINFOHEADER) + nExtraLen);
memcpy(type.pbFormat+sizeof(VIDEOINFOHEADER), pbuf, nExtraLen);
((VIDEOINFOHEADER*)(type.pbFormat))->bmiHeader.biSize += nExtraLen;
lingfp_hello 2005-11-02
  • 打赏
  • 举报
回复
hehe,lqweieng@tom.com
vencent 2005-10-28
  • 打赏
  • 举报
回复
如果是media-type错误,该怎么设置啊!
type.SetType(&MEDIATYPE_Video);
type.SetSubtype(&WMMEDIASUBTYPE_WMV3);
type.SetFormatType(&FORMAT_VideoInfo);
这样设置对吗?
vencent 2005-10-28
  • 打赏
  • 举报
回复
有高手教教我啊!
vencent 2005-10-25
  • 打赏
  • 举报
回复
media type肯定没问题!
starcbh 2005-10-25
  • 打赏
  • 举报
回复
检查你的source filter输出pin的media type

2,543

社区成员

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

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