Gstreamer 0.10

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer 0.10

GStreamer-devel mailing list
Hi
I am developing one application on Apalis T30, which support Gstreamer 0.10 .

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

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
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer 0.10

GStreamer-devel mailing list
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
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel