<div dir="ltr"><div>Hi <br></div><div>I am developing one application on Apalis T30, which support Gstreamer 0.10 .
<br><br>In my application, I am doing buffer probe using the API  :<b> gst_pad_add_buffer_probe ();</b><br>After doing probe, I need to add header extension using the API :
<br><b>gst_rtp_buffer_add_extension_onebyte_header </b><br><br>But when I am using this API it was giving error<b> gst_rtp_buffer_add_extension_onebyte_header: assertion 'gst_buffer_is_writable (buffer)' faile</b><br><br>I used the API  "<b>gst_buffer_make_writable</b>" to make the buffer writable.
<br>After using this API I am getting this warning :
<br><b>GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'GST_IS_MINI_OBJECT (mini_object)' failed</b><br><br>please suggest API which I can used to add header extension without and error.
<br>Find the code here :
<br><br>static gboolean
<br>cb_have_data (GstPad * pad, GstBuffer * buffer, gpointer data)
<br>{
<br>  GstBuffer *buff;
<br><br>  guint8 payload_type;
<br><br>  guint header_len;
<br><br>  guint packet_len;
<br><br>  guint16 seq_no;
<br><br>  gpointer pointer;
<br><br>  guint size;
<br><br>  guint8  csrc_count;
<br><br>  guint8 misc_data[4] = {1,2,3,4};
<br><br><br>  buffer = gst_buffer_make_writable (buffer);   /* Makes a writable buffer from the given buffer */
<br><br>  if ((gst_rtp_buffer_validate (buffer)) == TRUE) {
<br>    g_print("Buffer have Valid RTP Packet\n");
<br>  }
<br><br>  else {
<br>    g_print("Buffer do'nt have Valid RTP Packet\n");
<br>    goto out;
<br>  }
<br><br>  payload_type = gst_rtp_buffer_get_payload_type (buffer);      /* check payload_type */
<br>  g_print ("payload type is :%u\n", payload_type);
<br><br>  header_len = gst_rtp_buffer_get_header_len (buffer);  /*  total length of the header in buffer */
<br>  g_print("header length is :%u\n", header_len);
<br><br>  packet_len = gst_rtp_buffer_get_packet_len (buffer);  /* total length of the packet in buffer */
<br>  g_print("packet length is :%u\n", packet_len);
<br><br>  seq_no = gst_rtp_buffer_get_seq (buffer);
<br>  g_print("sequence number of RTP Packet :%u\n", seq_no);
<br><br>  csrc_count = gst_rtp_buffer_get_csrc_count(buffer);
<br>  g_print("csrc count value is: %u\n",csrc_count);
<br><br><br>  if (gst_rtp_buffer_add_extension_onebyte_header (buffer, 4, misc_data,
<br>          4) == TRUE) {
<br>    g_print ("Header Extension is Added\n");
<br>  }
<br><br>  else {
<br>    g_print ("Header Extension is not added\n");
<br>    goto out; <br></div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><i style="background-color:rgb(255,255,255)"><font color="#000000">Best Regards</font><font color="#0000ff">,</font></i><div><i style="background-color:rgb(255,255,255)"><font color="#000000"><b>Ashok Kumar Tiwari</b></font></i></div><div><i style="background-color:rgb(255,255,255)"><font color="#000000"><b>Mobile : +91-8127222468</b></font></i></div></div></div></div></div></div>