From 192a34af40d8e1fd96b58a69eb15adb1fe8e3428 Mon Sep 17 00:00:00 2001 From: Arnout Vandecappelle Date: Thu, 7 May 2009 14:59:36 +0200 Subject: [PATCH] typefindfunctions: made mp3_type_find less aggressive mp3_type_find could suggest already when only a single valid header was found, if it ran out of data before the end of the next frame. Therefore, ignore the last found frame if it was incomplete. Fixes bug #579692. --- gst/typefind/gsttypefindfunctions.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index 822ade0..ad010d0 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -931,6 +931,10 @@ mp3_type_find_at_offset (GstTypeFind * tf, guint64 start_off, offset += length; } g_assert (found <= GST_MP3_TYPEFIND_TRY_HEADERS); + if (head_data == NULL && + gst_type_find_peek (tf, offset + start_off - 1, 1) == NULL) + /* Incomplete last frame - don't count it. */ + found--; if (found == GST_MP3_TYPEFIND_TRY_HEADERS || (found >= GST_MP3_TYPEFIND_MIN_HEADERS && head_data == NULL)) { /* we can make a valid guess */ -- 2.7.4