Gstreamer
gstreamer相关介绍
泰勒朗斯
人,可以痛苦,可以失意,可以疯狂的爱,可以恣意的恨,却别忘了行程,别忘记赶路。
展开
-
gstreamer收集学习资料
1、下载gstreamerhttps://gstreamer.freedesktop.org/src/2、3、4、5、6、7、8、9、原创 2021-07-20 10:20:10 · 175 阅读 · 0 评论 -
gstreamer appsr和appsink案例
这是一个gstreamer有关appsrc和appsink解码的案例。原创 2022-10-10 15:20:35 · 939 阅读 · 0 评论 -
gstreamer中的segment是什么?
【代码】gstreamer中的segment是什么?原创 2022-10-19 14:43:27 · 124 阅读 · 0 评论 -
gstreamer中的segment是什么?
【代码】gstreamer中的segment是什么?原创 2022-10-13 19:00:56 · 318 阅读 · 0 评论 -
gstreamer注册分析
从plugin_init()函数说起,每个插件都有 一个plugin_init函数,比如:gstcoreelementsplugin。参考:https://blog.csdn.net/houxiaoni01/article/details/81386809。gst_plugin_name_register()是什么时候被调用的呢?1、plugin注册过程。原创 2022-10-03 17:18:33 · 905 阅读 · 0 评论 -
gstreamer 学习资料汇总
1、github源代码https://github.com/GStreamer/gstreamer2、github有人写的一个examplehttps://github.com/gesanqiu/gstreamer-example3、gstreamer中文开发手册https://www.doczhi.com/p-834602.html《插件编写指南》4、gstreamer官方APIhttps://gstreamer.freedesktop.org/documentation/libs.htm原创 2022-05-07 14:03:54 · 1134 阅读 · 0 评论 -
Gstreamer中caps的intersect
从上面案例可以看出,交集首先是对每个caps中的gst_struct名称进行对比,名称一样的才进行 ,比如上面video/x-raw,,caps2中的video/x-raw(ANY)在caps1中没有同名称的gst_struct,所以直接就忽略了,然后只对caps1和caps2中的video/x-raw进行交集,交集的时候对内部相同的key进行交集,比如format交集以后就只有ABGR64_LE了,后交集是对同名称的key中的value进行交集,但是对于caps1和caps2中的key进行并集。原创 2022-11-13 12:24:13 · 367 阅读 · 0 评论 -
gstreamer query 查询caps流程
4、调用函数内部用switch区分,我们这里调用gst_pad_query_caps_default (pad, query)接下来看一个插件gstvideodecoder.c中设置pad的query的函数,一个是sink pad,一个是src pad。6、先判断当前pad的caps是不是fixed_caps,如果是用下面方式获取caps。7、如果在有模板的情况下,先获取caps template模板,并从模板中获取caps。5、解析query`,这里是为了获取到caps中的filter。原创 2022-10-23 18:47:02 · 767 阅读 · 0 评论 -
gstreamer协商negoation
这是pipeline状态改变的重点函数,这里,状态首先从NULl改变到READY,然后再把状态从READY改变为PAUSED,其中到PAUSED的过程中会触发激活函数,比如src element的loop线程开始启动,解码器开始打开等动作。当pipeline的t状态改变为AREADY的时候,会从source发送一个STREAM_START的event,这个event一直传递到最后的sink element,每个element接收到STREAM_START后会做一些事情。原创 2022-10-29 23:06:22 · 1149 阅读 · 1 评论 -
gstreamer中h264对齐方式au和nal
【代码】gstreamer中h264对齐方式au和nal。原创 2022-12-21 12:29:35 · 1221 阅读 · 0 评论 -
GstStructure介绍
GstStructure 就是一个key/value的组合,key的类型是GQuarks,value是GType。GQuarks 是glib实现的一个字符串快速查询的对象,这里我们就认为是字符串。除了key/values之外,GstStructure还必须有一个名称。上面video/x-h264就是名称,其余全部是key/value形式。原创 2022-11-12 13:44:24 · 334 阅读 · 0 评论 -
gstreamer 中link步骤
3、继续进入到link_full函数中,首先发送一个GST_STRUCTURE_CHANGE_TYPE_PAD_LINK消息到总线。下面详细介绍步骤4中的函数步骤:pad_link_maybe_ghosting (srcpad, temp, flags)3、首先尝试步骤1中获取到的srcpad链表,看看在其dst-element中有没有匹配的sinkpad。1、首先检查是不是ghosting pad,如果两个pad在同一个bin,说明不用ghosting.1、获取src ement的srcpad的链表。原创 2022-10-23 21:25:03 · 1034 阅读 · 0 评论 -
gstreamer gstbuffer代码分析
具体不解释了,看注释很清楚,现在的问题是数据存储在哪里,比如至少有void * data,size_t size吧?从上面可以看到,在实际使用的时候真正用的是GstBufferImpl,这个结构体。到这里其实也结束了,具体allocator以下可以暂时不用考虑。这里就是如何获取到buf中mem的数据指针了。gstreamer提供了一个数据存储结构。这里又有了一个非常重要的结构体。,这是所有数据传递的基础。接着看如何分配内存的。原创 2022-11-06 13:22:04 · 869 阅读 · 0 评论
分享