我需要迭代IMFMediaSource引脚并获取每个引脚的特定类别名称,我使用媒体基础的cpp接口在win 8中工作。
我看到IBaseFilter的IBaseFilter :: EnumPins函数,但IMFMediaSource不支持IBaseFilter接口:
CComPtr<IBaseFilter> pFilter;
HRESULT hr = m_pMediaSource->QueryInterface(__uuidof(IBaseFilter), (void **)&pFilter);
以NO_INTERFACE错误代码失败:(
如何从媒体源获取引脚类别?
答案 0 :(得分:1)
这不起作用,因为它不必工作。 IMFMediaSource
属于Media Foundation,IBaseFilter
属于DirectShow。不同的API不必共享或以其他方式复制实现。 Media Foundation对象甚至没有引脚开头。
由于对所提出的问题没有答案,因此这里唯一的解决方案就是退后一步,回顾一下你想要实现的目标。