我知道 Windows 的“directshow”标头既有 C++ 类定义,也有它们的“C”结构等价物。
我的问题是,如果我调用一个 C++ 方法(在这种情况下来自 C--ffmpeg)并且它返回一个类,我如何确定传递给我的对象是否通过了各种接口的“is a”测试?如何将其转换为各种接口方法?如果这是有道理的。(全部来自直 C)。
有问题的示例是,给定 ffmpeg 的 dshow 层:https ://github.com/FFmpeg/FFmpeg/tree/master/libavdevice我可以访问 IPin,现在我想将它们转换为 IAMBufferNegotiation(如果他们实现了该接口),例如在这个例子中:http ://sid6581.wordpress.com/2006/10/09/minimizing-audio-capture-latency-in-directshow/
谢谢!