aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mpeg
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-06-20 20:21:54 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-06-20 20:21:54 +0000
commit780d9c3c31f456e2d3deefe579f2c3986daf6f5f (patch)
tree6e96a9c5f4a5291a297598b1754f17e3666cbab6 /src/plugins/Input/mpeg
parent041ab5d91d3ffd3d20733c5182dce93cc61ac166 (diff)
downloadqmmp-780d9c3c31f456e2d3deefe579f2c3986daf6f5f.tar.gz
qmmp-780d9c3c31f456e2d3deefe579f2c3986daf6f5f.tar.bz2
qmmp-780d9c3c31f456e2d3deefe579f2c3986daf6f5f.zip
mpeg: fixed some streams detection
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9413 90c681e8-e032-0410-971d-27865f9a5e38
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);