aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mpeg
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/mpeg')
-rw-r--r--src/plugins/Input/mpeg/decodermpegfactory.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/Input/mpeg/decodermpegfactory.cpp b/src/plugins/Input/mpeg/decodermpegfactory.cpp
index c13a15145..c726e8fcb 100644
--- a/src/plugins/Input/mpeg/decodermpegfactory.cpp
+++ b/src/plugins/Input/mpeg/decodermpegfactory.cpp
@@ -133,7 +133,11 @@ bool DecoderMPEGFactory::canDecode(QIODevice *input) const
;
if(dec_res == 0)
- dec_res = mad_frame_decode(&frame, &stream);
+ {
+ while ((dec_res = mad_frame_decode(&frame, &stream)) == -1
+ && MAD_RECOVERABLE(stream.error))
+ ;
+ }
mad_stream_finish(&stream);
mad_frame_finish(&frame);