From 83016fa9dc4d3229aae00ce53488a6375ca43132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Stadler?= Date: Thu, 19 Mar 2009 01:17:25 +0200 Subject: 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. --- gst/aacparse/gstaacparse.c | 5 ----- 1 file changed, 5 deletions(-) (limited to 'gst/aacparse/gstaacparse.c') diff --git a/gst/aacparse/gstaacparse.c b/gst/aacparse/gstaacparse.c index 526e1c9d..c9ad0b5f 100644 --- a/gst/aacparse/gstaacparse.c +++ b/gst/aacparse/gstaacparse.c @@ -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; -- cgit v1.2.1