<div dir="ltr"><div>I have developed application in which  we are trying to add header extension in the Probed buffer which have RTP Packet .</div><div>>> We are using the API "gst_pad_add_buffer_probe ( )" to get the probed buffer .</div><div>>> Inside the callback function , we are creating own buffer which will have RTP Header</div><div>    extension with payload.</div><div>>> Now we are replacing probed buffer with the created buffer by using the API <br></div><div>     "gst_buffer_replace" but not able to replace the probed buffer .</div><div>>> I checked data pointer &  malloc pointer of probed buffer , it is changed to <br></div><div>      data pointer & malloc pointer of created buffer .</div><div>>> It is changing locally not in the memory level.</div><div>>> I was observing the value of refcount , it is 2 for probed buffer , when ever probed buffer <br></div><div>    is getting unref it is losing it RTP Packet .</div><div>>> It is giving error that :</div><div>      GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'GST_IS_MINI_OBJECT (mini_object)' failed.</div><div>GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'GST_IS_MINI_OBJECT (mini_object)' failed.</div><div><br></div><div>>> I used the API "<span style="font-weight:normal">gst_buffer_make_writable()" to make the probed buffer writable but</span></div><div><span style="font-weight:normal">    it is doing unref to make the refcount 1 once it changed we are losing our RTP packet<br></span></div><div><br></div><div>>> What is way to solve this Issue & why this API is not changing in memory level .</div><div>>> Any other way to replace probed buffer with  created buffer.</div><div>>> How we can change the size of probed buffer without any memory leakage .<br></div><div>  <br></div><div><br></div></div>