aacparse: Fix busyloop when seeking. Fixes #575388

The problem is that after a discont, set_min_frame_size(1024) is called when
detect_stream returns FALSE. However, detect_stream calls check_adts_frame
which sets the frame size on its own to something larger than 1024. This is the
same situation as in the beginning, so the base class ends up calling
check_valid_frame in an endless loop.
This commit is contained in:
René Stadler 2009-03-19 01:17:25 +02:00
parent 3f90e6ff13
commit 83016fa9dc

View file

@ -607,11 +607,6 @@ gst_aacparse_check_valid_frame (GstBaseParse * parse,
ret = gst_aacparse_detect_stream (aacparse, data, GST_BUFFER_SIZE (buffer),
framesize, skipsize);
if (!ret) {
GST_DEBUG ("buffer didn't contain valid frame, skip = %d", *skipsize);
gst_base_parse_set_min_frame_size (GST_BASE_PARSE (aacparse), 1024);
}
} else if (aacparse->header_type == DSPAAC_HEADER_ADTS) {
guint needed_data = 1024;