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 committed by Tim-Philipp Müller
parent 2856da8601
commit 179632dc02

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;