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!
- Is there something wrong in the above sequence? How can we avoid this error of parsing a broken/wrong frame in this case?
- 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