最近在研究GStreamer,到现在还是不是非常明白GstBuffer,现在只是在这里做一些记录,方便自己查阅,不确定正确与否,只是个人想法。
1:chain函数带进来的buf,参照GStreamer官方文档,和源代码了,我的理解是,在整个piplien中,GstBuffer是上级创建下级回收。
2.由于是需要对GstBuffer进行修改,但是GstBuffer的引用计数 >1 GstBuffer就不可写,这个时候可以使用gst_buffer_make_writable函数拷贝出一份数据来(大部分情况是引用计数拷贝),如果buf的flag状态带有GST_MEMORY_FLAG_NO_SHARE,就是完全拷贝。