【问题标题】:DirectShow transform filter - how to get source filter IBaseFilter that connected to my filter input pin?DirectShow 变换过滤器 - 如何获取连接到我的过滤器输入引脚的源过滤器 IBaseFilter?
【发布时间】:2014-08-13 12:30:00
【问题描述】:

我想检查如何获取连接到我的过滤器输入引脚的源过滤器 IBaseFilter?

在 CheckInputType 方法中,我可以通过媒体类型允许或拒绝连接,但我需要了解有关源过滤器的更多信息。

变换过滤器很简单,1 个输入引脚和 1 个输出引脚,基于 CTransformFilter。

【问题讨论】:

    标签: directshow


    【解决方案1】:

    你从CTransformFilter派生,从那里:

    • m_pInput 是您的输入密码
    • m_pInput->m_Connected 是您输入引脚的连接对等体
    • IPin::QueryPinInfo 为您获取 pin 数据,包括您正在寻找的 IBaseFilter 指针

    【讨论】:

      【解决方案2】:

      我找到了正确的方法。

      在 CheckConnect 方法中,您可以返回 E_FAIL 以拒绝连接。

      您可以使用 PIN_INFO 结构从 IPin 获取 IBaseFilter 接口。

      【讨论】:

      • 您询问了已连接的 pin,您似乎对 pin 感兴趣,该 pin 即将仅连接(尚未连接)。
      • 是的,问错了,抱歉。了解信息并允许/拒绝连接。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多