Gst audioparser plugin aborts when setting pipeline to NULL state

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Gst audioparser plugin aborts when setting pipeline to NULL state

Shyamjith K V Sasidharan (RBEI/ETW3)

Hi,

 

Version : Gstreamer1.0-plugin-good-1.14.4

 

I have a Bluetooth playback application. The application intermittently receive signal abort after hitting below assertion from gstsbcparser plugin while transitioning from PLAYING (4) state  to NULL (0) state.

 

gst_sbc_parse_handle_frame (GstBaseParse * parse, GstBaseParseFrame * frame,

    gint * skipsize)

{

[…]

  gst_buffer_map (frame->buffer, &map, GST_MAP_READ);

 

 g_assert (map.size >= 6);   < -- Issue here !!

 

  frame_len = gst_sbc_parse_header (map.data, &rate, &n_blocks, &ch_mode,

      &alloc_method, &n_subbands, &bitpool);

 

[…]

 

}

 

Here somehow the plugin considesr map.size < 6 as a reason to sig ABRT. I do not see other similar parser plugins send an abort in such a case. Any special reason for this implementation?

 

In my application,  “gst_event_new_eos” was sent to the pipeline right before calling  “gst_element_set_state” to change  state to NULL.  I expected that sbcparser will stop handling frames after  receiving  EOS event.

But, I don’t see any event handler registered for EOS in any of gstbaseparse subclasses including sbcparse!

 

  1. Is there something wrong in the above sequence? How can we avoid this error of parsing a broken/wrong frame in this case?
  2. It would be great to know how audioparser plugins handle EOS signal from application.

 

Thanks in advance 😊


Best Regards,

Shyam


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