为了简化事情,假设我有一个非常简单的管道,例如:
videotestsrc -> appsink
如何配置它以使用我开发的自定义分配器? (基于 GstAllocator 的实现已经完成,我的问题集中在你使用它的管道配置上)。
我正在 Gstreamer 1.2 上开发 C++ 应用程序。
谢谢, E.
最佳答案
Pad 使用 GST_QUERY_ALLOCATION 协商分配器.下游 sinkpad 可以建议分配器,上游 sourcepad 可以使用它或使用它自己的分配器。
很遗憾,没有内置方式(要设置的属性或要调用的方法)来配置 GstPipeline、GstBin、GstElement 或 GstPad 以使用提供的分配器。
你可以使用 pad probe (最好在您的示例中的 videotestsrc 的 srcpad 上)修改通过那里的 GST_QUERY_ALLOCATION,修改它以向 videotestsrc 建议您的分配器。根据源板的实现,在最好的情况下,您建议的分配器将用于该链接。
关于c++ - GStreamer 中的自定义分配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39292091/