繁体   English   中英

IMFMediaSink,如何设置编码器属性?

[英]IMFMediaSink, how to set an encoder property?

我实现了一个IMFMediaSink接口,该接口通过本机h264编解码器编码一个特定的源(我们正在谈论Windows 8 Modern(Metro)接口)。 我想更改h264编解码器的默认选项,该怎么做?

我在网上搜索过,我有点理解ICodecAPI接口与我想要做的事情有关,但是如何使用它呢? 是否有人可以查看一些示例代码来尝试并理解该怎么做?

我知道我可以将MF_SINK_WRITER_ENCODER_CONFIG用于接收器编写器,但不幸的是我没有使用该类。

也许是这样的:

尝试从IMFStreamSink获取h264流上的IMFMediaSink GetStremSinkCountGetStreamSinkByIndex应该可以帮助您。

然后在IMFMediaSink对象上调用GetMediaTypeHandler IMFMediaTypeHandler上调用GetCurrentMediaType 现在,您应该有一个指向IMFMediaType的指针,该指针是从IMFAttributes派生的。 您应该可以在此处配置变压器。

嘿,我确实收到了建筑师的回音。 他确认当前的暗示是“故意”。 团队意识到了局限性,但是我不确定他们是否能够考虑设计变更。 我希望这会有所帮助,詹姆斯

https://social.msdn.microsoft.com/Forums/windowsapps/en-US/74f02476-05aa-4520-8ee6-1b794321173e/how-to-access-icodec-property?forum=winappswithhtml5

我自己找到了解决方案。 它不存在从WinRT Metro访问ICodecAPI的方法。 这是设计使然,Microsoft认为不会很快改变它。 这是一个耻辱...:(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM