[英]IMFMediaSink, how to set an encoder property?
我实现了一个IMFMediaSink接口,该接口通过本机h264编解码器编码一个特定的源(我们正在谈论Windows 8 Modern(Metro)接口)。 我想更改h264编解码器的默认选项,该怎么做?
我在网上搜索过,我有点理解ICodecAPI接口与我想要做的事情有关,但是如何使用它呢? 是否有人可以查看一些示例代码来尝试并理解该怎么做?
我知道我可以将MF_SINK_WRITER_ENCODER_CONFIG用于接收器编写器,但不幸的是我没有使用该类。
也许是这样的:
尝试从IMFStreamSink
获取h264流上的IMFMediaSink
。 GetStremSinkCount
和GetStreamSinkByIndex
应该可以帮助您。
然后在IMFMediaSink
对象上调用GetMediaTypeHandler
。 在IMFMediaTypeHandler
上调用GetCurrentMediaType
。 现在,您应该有一个指向IMFMediaType
的指针,该指针是从IMFAttributes
派生的。 您应该可以在此处配置变压器。
嘿,我确实收到了建筑师的回音。 他确认当前的暗示是“故意”。 团队意识到了局限性,但是我不确定他们是否能够考虑设计变更。 我希望这会有所帮助,詹姆斯
我自己找到了解决方案。 它不存在从WinRT Metro访问ICodecAPI的方法。 这是设计使然,Microsoft认为不会很快改变它。 这是一个耻辱...:(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.