mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
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.
This commit is contained in:
parent
ef473dd0ae
commit
192a34af40
1 changed files with 4 additions and 0 deletions
|
@ -931,6 +931,10 @@ mp3_type_find_at_offset (GstTypeFind * tf, guint64 start_off,
|
||||||
offset += length;
|
offset += length;
|
||||||
}
|
}
|
||||||
g_assert (found <= GST_MP3_TYPEFIND_TRY_HEADERS);
|
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 ||
|
if (found == GST_MP3_TYPEFIND_TRY_HEADERS ||
|
||||||
(found >= GST_MP3_TYPEFIND_MIN_HEADERS && head_data == NULL)) {
|
(found >= GST_MP3_TYPEFIND_MIN_HEADERS && head_data == NULL)) {
|
||||||
/* we can make a valid guess */
|
/* we can make a valid guess */
|
||||||
|
|
Loading…
Reference in a new issue