如何从 IMFMediaSource 获取 Pin 图类别
Posted
技术标签:
【中文标题】如何从 IMFMediaSource 获取 Pin 图类别【英文标题】:How to get Pins categories from IMFMediaSource 【发布时间】:2013-12-01 13:51:38 【问题描述】:我需要迭代IMFMediaSource引脚并获取每个引脚的特定类别名称,我在win 8中工作,使用媒体基础的cpp接口。
我看到 IBaseFilter 有一个 IBaseFilter::EnumPins 函数,但是 IMFMediaSource 不支持 IBaseFilter 接口:
CComPtr<IBaseFilter> pFilter;
HRESULT hr = m_pMediaSource->QueryInterface(__uuidof(IBaseFilter), (void **)&pFilter);
以 NO_INTERFACE 错误代码失败:(
如何从媒体源中获取 pin 类别??
【问题讨论】:
【参考方案1】:这不起作用,因为它不必起作用。 IMFMediaSource
属于媒体基金会,IBaseFilter
属于 DirectShow。不同的 API 不必共享或以其他方式重复实现。 Media Foundation 对象甚至没有 pin 开头。
由于无法回答所提出的问题,因此这里唯一的解决方案是退后一步,回顾一下您首先要达到的目标。
【讨论】:
感谢您的评论,Media Foundation 有某种 pin 结构,您可以使用 IMFTransfom 通过索引设置流。所以没有办法按预览/剧照/视频类别区分流? MF 有自己闪亮的新模型,包含表示描述符、流和其他东西。没有别针。没有类别。 DirectShow 接口不适用。以上是关于如何从 IMFMediaSource 获取 Pin 图类别的主要内容,如果未能解决你的问题,请参考以下文章
在实现 MKAnnotation 时如何获取 pin 的标题和副标题?