Gstreamer 0.10

Nicolas Dufresne nicolas at ndufresne.ca
Wed May 12 13:51:13 UTC 2021


Le mardi 11 mai 2021 à 21:37 +0530, Ashok Tiwari via gstreamer-devel a écrit :
> Hi 
> I am developing one application on Apalis T30, which support Gstreamer 0.10 .

I'm sorry to say, we no longer support GStreamer 0.10. We don't have the
resource to do so.

> 
> In my application, I am doing buffer probe using the API
>  : gst_pad_add_buffer_probe ();
> After doing probe, I need to add header extension using the API :
> gst_rtp_buffer_add_extension_onebyte_header 
> 
> But when I am using this API it was giving
> error gst_rtp_buffer_add_extension_onebyte_header: assertion
> 'gst_buffer_is_writable (buffer)' faile
> 
> I used the API  "gst_buffer_make_writable" to make the buffer writable.
> After using this API I am getting this warning :
> GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'GST_IS_MINI_OBJECT
> (mini_object)' failed

is_writable() likely failed because is_mini_object() failed. You might be
handling null pointers or have reached the last ref.

> 
> please suggest API which I can used to add header extension without and error.
> Find the code here :
> 
> static gboolean
> cb_have_data (GstPad * pad, GstBuffer * buffer, gpointer data)
> {
>   GstBuffer *buff;
> 
>   guint8 payload_type;
> 
>   guint header_len;
> 
>   guint packet_len;
> 
>   guint16 seq_no;
> 
>   gpointer pointer;
> 
>   guint size;
> 
>   guint8  csrc_count;
> 
>   guint8 misc_data[4] = {1,2,3,4};
> 
> 
>   buffer = gst_buffer_make_writable (buffer);   /* Makes a writable buffer
> from the given buffer */
> 
>   if ((gst_rtp_buffer_validate (buffer)) == TRUE) {
>     g_print("Buffer have Valid RTP Packet\n");
>   }
> 
>   else {
>     g_print("Buffer do'nt have Valid RTP Packet\n");
>     goto out;
>   }
> 
>   payload_type = gst_rtp_buffer_get_payload_type (buffer);      /* check
> payload_type */
>   g_print ("payload type is :%u\n", payload_type);
> 
>   header_len = gst_rtp_buffer_get_header_len (buffer);  /*  total length of
> the header in buffer */
>   g_print("header length is :%u\n", header_len);
> 
>   packet_len = gst_rtp_buffer_get_packet_len (buffer);  /* total length of the
> packet in buffer */
>   g_print("packet length is :%u\n", packet_len);
> 
>   seq_no = gst_rtp_buffer_get_seq (buffer);
>   g_print("sequence number of RTP Packet :%u\n", seq_no);
> 
>   csrc_count = gst_rtp_buffer_get_csrc_count(buffer);
>   g_print("csrc count value is: %u\n",csrc_count);
> 
> 
>   if (gst_rtp_buffer_add_extension_onebyte_header (buffer, 4, misc_data,
>           4) == TRUE) {
>     g_print ("Header Extension is Added\n");
>   }
> 
>   else {
>     g_print ("Header Extension is not added\n");
>     goto out; 
> 
> Best Regards,
> Ashok Kumar Tiwari
> Mobile : +91-8127222468
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list