From 7c41f42eecdeccc7f7cb75014678e115928798f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Tue, 23 Oct 2012 13:45:17 +0100 Subject: [PATCH] flacparse: ignore bad headers if we have a valid STREAMINFO header If we run into any header parsing issues and we have a valid STREAMINFO header already, don't error out, but just stop header parsing and try to find some audio frames. https://bugzilla.gnome.org/show_bug.cgi?id=684701 --- gst/audioparsers/gstflacparse.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gst/audioparsers/gstflacparse.c b/gst/audioparsers/gstflacparse.c index f04917f147..7fddca0d4a 100644 --- a/gst/audioparsers/gstflacparse.c +++ b/gst/audioparsers/gstflacparse.c @@ -1551,7 +1551,13 @@ gst_flac_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame, GST_MEMDUMP_OBJECT (parse, "bad header data", map.data, size); gst_buffer_unref (sbuffer); - goto header_parsing_error; + + /* error out unless we have a STREAMINFO header */ + if (flacparse->samplerate == 0 || flacparse->bps == 0) + goto header_parsing_error; + + /* .. in which case just stop header parsing and try to find audio */ + is_last = TRUE; } if (is_last) {