在一个进程中多次加载相同的GStreamer元素 [英] loading same gstreamer elements multiple times in a process

查看:10
本文介绍了在一个进程中多次加载相同的GStreamer元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个问题可能很愚蠢。GStreamer元素如何在一个进程中多次加载?在创建GStreamer元素时,如果已经创建了一个并存在于内存中,它们是否共享?在我的例子中,一个进程创建多个线程,为我正在创建的每个线程创建下面的GStreamer元素,链接并将管道设置为播放状态,filesrc->q->filesink,这是可行的。但是,当我在Q->文件链接之间添加GStreamer元素(新编写用于处理GST缓冲区数据)时,所有线程都停止工作,可能会出现什么问题?我如何调试?请提供输入。先谢谢你。-OpenSID

推荐答案

元素在共享库中,因此代码在内存中只有一次。不过,每个实例都会为自己的状态占用一些内存。在执行多线程操作时,您应该从主线程中只调用一次gst_init()。由于GStreamer已经为数据处理创建了新的线程,因此从一个主线程创建所有GStreamer管道是一种节省。您可以并行运行多个管道。

这篇关于在一个进程中多次加载相同的GStreamer元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆