gpt4 book ai didi

c++ - CSource 过滤器问题

转载 作者:行者123 更新时间:2023-11-28 06:42:00 25 4
gpt4 key购买 nike

我目前正在尝试实现我自己的源过滤器,以便解码作为输入给出的 MOV 文件。我一直在关注网络上和 WinSDK 7.1 示例文件夹中可用的各种示例,最后得到以下内容:

  1. 实现 CreateInstance

  2. 的 CSource 子类
  3. 一个实现以下内容的 CSourceStream 子类:

    • 决定缓冲区大小
    • 获取媒体类型
    • 通知
    • 填充缓冲区

请注意,我目前没有实现任何类型的搜索处理。

目前我的过滤器可以通过 graphstudio 实例化并公开 1 个视频输出引脚。我能够通过 VMR7 一直渲染它。

当我点击播放时,我的问题就来了。我的 FillBuffer 方法被调用一次并且 graphstudio 无法报告 source.cpp 内的断言失败@第 317 行:ASSERT(!ThreadExists())

谁能告诉我我做错了什么?底座引脚的::Active() 方法似乎存在某种问题,但我不确定到底是什么。

如果需要,我很乐意提供更详细的源代码。

提前致谢。

最佳答案

好吧,我终于让它工作了。

如果有人遇到同样的问题,这是来自 CSource 过滤器的 pin 注册。我正在使用 AddPin 方法来注册我的 pin。这不知何故导致 CSource 内部状态以某种方式失败。像 directshow 示例中那样直接访问 m_paStreams 数组解决了我的问题。

关于c++ - CSource 过滤器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25821431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com