假设它们来自同一来源,则为:

IMFMediaTypeHandler::GetMediaTypeByIndex(mediaTypeIndex, mediaType)

相当于:
IMFSourceReader::GetNativeMediaType(streamIndex, mediaTypeIndex, mediaType)

在这两种情况下,mediaTypeIndex参数之间是否存在对应关系?对于使用具有以下属性集的mfcreateSourceReaderFromMediaSource(),这意味着什么:
attributes->SetUINT32(MF_READWRITE_DISABLE_CONVERTERS, TRUE);

最佳答案

这些方法很可能是等价的,即使它们不必这样做。如果在媒体源上使用源读卡器,则将对媒体源的控制权委托给读卡器实例,通常情况下,不应访问IMFMediaTypeHandler,因为源读卡器运行时假定它对该对象具有独占控制权。
MF_READWRITE_DISABLE_CONVERTERS不太可能对本机媒体类型的枚举产生影响,因为转换器会跳入以将请求的媒体类型与本机媒体类型之一匹配。

08-28 08:16