社区
多媒体/流媒体开发
帖子详情
初学者问题:如何重写 GetMediaType ,才能使 CBaseOutputPin 派生类的媒体类型为MEDIASUBTYPE_YUYV ?
sungengyu
2005-03-09 05:29:00
如何重写 GetMediaType ,才能使 CBaseOutputPin 派生类的媒体类型为MEDIASUBTYPE_YUYV ?
郁闷。
谢谢了。
...全文
221
5
打赏
收藏
初学者问题:如何重写 GetMediaType ,才能使 CBaseOutputPin 派生类的媒体类型为MEDIASUBTYPE_YUYV ?
如何重写 GetMediaType ,才能使 CBaseOutputPin 派生类的媒体类型为MEDIASUBTYPE_YUYV ? 郁闷。 谢谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sungengyu
2005-03-24
打赏
举报
回复
HRESULT CBallStream::GetMediaType(int iPosition, CMediaType *pmt)
{
int width = m_ball.GetImageWidth() ;
int height = m_ball.GetImageHeight() ;
CAutoLock lockit(m_pFilter->pStateLock());
if (iPosition != 0)
{
return E_INVALIDARG;
}
pmt->SetType(&MEDIATYPE_Video);
pmt->SetSubtype(&MEDIASUBTYPE_UYVY) ;
pmt->SetFormatType(&FORMAT_VideoInfo);
pmt->SetSampleSize(width*height*2);
pmt->SetTemporalCompression(FALSE);
VIDEOINFOHEADER info;
ZeroMemory(&info, sizeof(VIDEOINFOHEADER));
info.bmiHeader.biPlanes = 1;
info.bmiHeader.biSizeImage = width*height*2 ;
info.bmiHeader.biClrImportant = 0;
info.AvgTimePerFrame = this->m_iDefaultRepeatTime ; //UNITS / SRC_FRAME_RATE;
info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
info.bmiHeader.biHeight = height ;
info.bmiHeader.biWidth = width;
info.bmiHeader.biCompression = mmioFOURCC('U','Y','V','Y');
info.bmiHeader.biBitCount = 16 ; // sungengyu
pmt->SetFormat((BYTE*)&info, sizeof(VIDEOINFOHEADER));
return NOERROR;
}
sungengyu
2005-03-17
打赏
举报
回复
终于能连上了,可是输出数据是错的。 :(
资料太少了,《DirectShow开发指南》也太不详细。
sungengyu
2005-03-11
打赏
举报
回复
还是连不上
调试跟踪到 CBasePin::TryMediaTypes(IPin *pReceivePin, const CMediaType *pmt,IEnumMediaTypes *pEnum) 中,
hr = AttemptConnection(pReceivePin, pMediaType);
hr的返回值是错的。
如果直接连 Video Renderer ,hr 的返回值是 0x8004022a (ReceiveConnection 拒绝传入的媒体类型。)
如果连结 AVI Decompressor,hr的返回值是 0x80040255(无法回放视频流:无法找到合适的解压程序。)
pMediaType 中的值是
majortype {73646976-0000-0010-8000-00AA00389B71} (MEDIATYPE_Video)
subtype {56595559-0000-0010-8000-00AA00389B71} (MEDIASUBTYPE_YUYV)
bFixedSizeSamples 0x00000001
bTemporalCompression 0x00000000
lSampleSize 0x00000001
formattype {05589F80-C356-11CE-BF01-00AA0055595A} (FORMAT_VideoInfo)
pUnk 0x00000000
cbFormat 0x00000058
pbFormat 0x00166cd0
happydeer
2005-03-10
打赏
举报
回复
#define SRC_IMG_WIDTH 352
#define SRC_IMG_HEIGHT 288
#define SRC_FRAME_RATE 25
HRESULT CYourPin::GetMediaType(int iPosition, CMediaType *pmt)
{
CAutoLock lockit(m_pFilter->pStateLock());
if (iPosition != 0)
{
return E_INVALIDARG;
}
pmt->SetType(&MEDIATYPE_Video);
pmt->SetSubtype(&MEDIASUBTYPE_YUYV);
pmt->SetFormatType(&FORMAT_VideoInfo);
pmt->SetSampleSize(1);
pmt->SetTemporalCompression(FALSE);
VIDEOINFOHEADER info;
ZeroMemory(&info, sizeof(VIDEOINFOHEADER));
info.AvgTimePerFrame = UNITS / SRC_FRAME_RATE;
info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
info.bmiHeader.biHeight = SRC_IMG_HEIGHT;
info.bmiHeader.biWidth = SRC_IMG_WIDTH;
info.bmiHeader.biCompression = mmioFOURCC('Y','U','Y','V');
pmt->SetFormat((BYTE*)&info, sizeof(VIDEOINFOHEADER));
return NOERROR;
}
sungengyu
2005-03-10
打赏
举报
回复
我在小球的例子上修改的。我希望输出媒体类型为MEDIASUBTYPE_YUYV,试了好久还是连不上。我不知道怎么重写 HRESULT CBallStream::GetMediaType(int iPosition, CMediaType *pmt) , 这里是不是应该填充 AM_MEDIA_TYPE 结构?
在网上搜索也找不到例子,两天了,郁闷至极,
兄弟们拉我一把吧,可怜可怜我吧,555555555555555
文件加壳器 FileLocker V1.1.0
一、功能介绍 ------------ 1. 任意格式加壳:视频、Office 文档、压缩包等都能封进一个 exe,格式无关。 2. 授权码分发:对方机器码 + 你生成的授权码,绑定这台电脑,转发无效。 3. 不提供试用:生成的 exe 必须输入授权码才能打开,内容不会被白嫖。 4. 文件清单(可选):加壳时可勾选「激活前展示文件清单」,对方未授权也能看到包里 有哪些文件、多大(仅文件名和大小,内容仍加密),用来打消"里面是不是空的"疑虑。 5. 永久授权(可选):发码时可勾选「永久」,生成不限日期的授权码,适合资料买断。 6. 仓库备份 / 换机:产品授权信息可一键导出、导入,换电脑不丢。
国央企创新负责人如何借助产业大脑推动内部协同与外部合作?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
实用代码脚本易语言源码进程模块
实用代码脚本易语言源码进程模块
高校技术转移办公室人员如何借助区域科技创新数智大脑提升成果转化匹配效率?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
chrome-mac-arm64-152.0.7953.3(Dev).zip
chrome-mac-arm64-152.0.7953.3(Dev)
多媒体/流媒体开发
2,554
社区成员
20,277
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章