summaryrefslogtreecommitdiffstats
path: root/gst/aacparse/gstaacparse.c
diff options
context:
space:
mode:
authorRené Stadler <mail@renestadler.de>2009-03-19 01:17:25 +0200
committerRené Stadler <mail@renestadler.de>2009-03-23 20:57:15 +0200
commit83016fa9dc4d3229aae00ce53488a6375ca43132 (patch)
tree554b2133876e5e0cfc0599207683db5d53114420 /gst/aacparse/gstaacparse.c
parent3f90e6ff137d3e6e952b6c1550bd8a535d7fc391 (diff)
downloadgst-plugins-bad-83016fa9dc4d3229aae00ce53488a6375ca43132.tar.gz
gst-plugins-bad-83016fa9dc4d3229aae00ce53488a6375ca43132.tar.bz2
gst-plugins-bad-83016fa9dc4d3229aae00ce53488a6375ca43132.zip
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.
Diffstat (limited to 'gst/aacparse/gstaacparse.c')
-rw-r--r--gst/aacparse/gstaacparse.c5
1 files changed, 0 insertions, 5 deletions
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;