DSHOW push解决方案
发布时间:2011-06-27 19:31:22 文章来源:www.iduyao.cn 采编人员:星星草
DSHOW push
推模式,ConnectDirect 的,为什么我一直反回错误
下级级用的是HAALI的一个东西,用CMemStream拉模式的时候是可以连接的
static GUID MEDIASUBTYPE_H264 = { MAKEFOURCC('h','2','6','4'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71};
GetMediaType如下
CheckPointer(pmt,E_POINTER);
CAutoLock cAutoLock(m_pFilter->pStateLock());
if(iPosition < 0)
{
return E_INVALIDARG;
}
// Have we run off the end of types?
if(iPosition > 4)
{
return VFW_S_NO_MORE_ITEMS;
}
HRESULT hr =NOERROR ;
if (iPosition == 0){
ASSERT(pmt);
pmt->InitMediaType () ;
pmt->SetType(&MEDIATYPE_Video) ;
pmt->SetSubtype(&MEDIASUBTYPE_H264);
pmt->SetFormatType(&FORMAT_VideoInfo);
VIDEOINFOHEADER vih;
memset( &vih, 0, sizeof( vih ) );
vih.bmiHeader.biCompression = 0;//BI_RGB;
vih.bmiHeader.biBitCount = 24;
vih.bmiHeader.biSize = 40;//sizeof(BITMAPINFOHEADER);
vih.bmiHeader.biWidth = 352;
vih.bmiHeader.biHeight = 288;
vih.bmiHeader.biPlanes = 1;
vih.bmiHeader.biSizeImage = 304128;//GetBitmapSize(&vih.bmiHeader);
vih.bmiHeader.biClrImportant = 0;
vih.AvgTimePerFrame = 666670;
vih.dwBitRate = 34062336;
pmt->SetFormat((unsigned char *)&vih,sizeof(VIDEOINFOHEADER));
pmt->SetTemporalCompression(TRUE);
hr = S_OK;
}
return hr;
------解决方案--------------------
(1)你现在写的source filters是push model,而以前你能够以pull model的source filter与halli连接,这说明了什么?你写的是push model source filter,当然有极大可能不能与HALLI SPILTER相连,这个HALLI SPILTER可能只支持puLL model source filter.
(2)如果不是模式匹配的问题,而是媒体类型的问题,或许是VIDEOINFOHEADER数据填充不太合适,用缺省值试试。
(3)从此代码
static GUID MEDIASUBTYPE_H264 = { MAKEFOURCC('h','2','6','4'), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71};
看出,你改了或者引用了mediaformat.h中的代码。如果还有问题,考虑一下是不是其它的代码也需要修改。
good luck.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
DSHOW push
推模式,ConnectDirect 的,为什么我一直反回错误
下级级用的是HAALI的一个东西,用CMemStream拉模式的时候是可以连接的
...
-
ffmpeg编码后视频速度不正确,质量也不好,求助,求助,求助,求助啊
对采集到得摄像头图像进行编码保存,发现得到的视频质量不好,而且速度不...
-
请问怎么在live555中接收jpeg
请问,我现在想接收一个服务器发送的jpeg 不知道怎么用live555做一个客户端, 接收它并显示。
请问应...
-
XP SP3 YUV420 的fiter依赖 在线等答案……
链接时媒体类型为WMMEDIASUBTYPE_I420
有的XP可以播放出来
有的就不行,请问不能播放...
-
如何获取通过麦克风来获取当前说话的音量?
使用Wave系统API采集音频输入的数据,当数据缓存区满了后,收到消息取得数据后,如何根据这里...
-
RFC3984 有没有完整的中文版本呢?
搜了几个 都是一半英文一半中文的。哎 郁闷!
------解决方案--------------------
英文的凑合...
-
介绍一个学习directshow和com、atl技术的网站
有一个学习directshow和com、atl技术的网站,还可以下视频教程,共享给大家: http://www...
-
攻击帖:jrtplib、live555是个垃圾,刚开始搞流媒体就用这玩意就是找s
不解释~
来丢我砖头吧~~
我分太多了用不完~ 支持的散分~~~
...
-
50分,寻找《Visual C++音频/视频处理技术及工程实践》的随书光盘?
急于使用其中的几个例程。若哪位好心人能够提供,非常感谢!!我的QQ:52...
-
h264的高宽比怎么获取?
我看标准里面只有样点的高宽比啊。
还有,bit rate可以读出来吗?
------解决方案--------------------
是要...