c++ - GStreamer 中的自定义分配器

标签 c++ gstreamer allocator

为了简化事情,假设我有一个非常简单的管道,例如:

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/

相关文章:

c++ - 如何以编程方式设置系统IP

c++ - 获取没有访问器或修改器的嵌套类成员

c++ - glewInit() 时 OpenGL 错误 GL_INVALID_ENUM (0x0500)

c++ - std::Thread 需要更多时间才能从等待 std::condition_variable 中唤醒?

udp - GStreamer UDPSink block 大小属性不起作用?

python - 使用 GStreamer 和 GNonLin 的视频过渡不起作用

c++ - Android NDK 链接器 (GStreamer) - 链接器名称无效 -fuse-ld=gold

c++ - 为 CHeapPtr 创建自定义分配器(用于 Sqlite)

c++ - 默认分配器是否将 int 归零?

c++ - 令人信服的自定义 C++ 分配器示例?