我实现了一个IMFMediaSink接口,它通过本机h264编解码器编码一个特定的源(我们谈论的是Windows 8 Modern(Metro)接口)。我想更改h264编解码器的默认选项,该怎么做?
我在线搜索,我有点明白ICodecAPI界面与我想做的事情有关,但是如何使用呢?有没有人有一些示例代码可以试着去了解该怎么做?
我知道我可以将MF_SINK_WRITER_ENCODER_CONFIG用于清算器,但遗憾的是我没有使用该类。
答案 0 :(得分:3)
也许是这样的:
尝试从IMFStreamSink
获取h264流上的IMFMediaSink
。 GetStremSinkCount
和GetStreamSinkByIndex
可以为您提供帮助。
然后在GetMediaTypeHandler
对象上调用IMFMediaSink
。
在GetCurrentMediaType
上致电IMFMediaTypeHandler
。
现在你应该有一个指向IMFMediaType
的指针,它是从IMFAttributes
派生的。您应该可以在这里配置您的变压器。
答案 1 :(得分:2)
嘿 我确实收到了我们建筑师的回复。他总结说,目前的重要性是设计"。团队意识到了限制,但我不确定他们是否能够考虑改变设计。 我希望这有帮助, 詹姆斯
我自己找到了解决方案。它不存在从WinRT Metro访问ICodecAPI的方法。这是设计的,微软认为不会很快改变它。很遗憾...... :(