diff options
Diffstat (limited to 'src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp')
| -rw-r--r-- | src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp index b1f9228ee..bab1b9980 100644 --- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp +++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp @@ -250,6 +250,12 @@ QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, Tra delete info; return parser.createPlayList(trackNumber); } + else if(trackNumber > 0 && path.startsWith("ffmpeg://")) //invalid track + { + avformat_close_input(&in); + delete info; + return QList<TrackInfo*>(); + } AVDictionaryEntry *album = av_dict_get(in->metadata,"album",nullptr,0); AVDictionaryEntry *album_artist = av_dict_get(in->metadata,"album_artist",nullptr,0); @@ -303,6 +309,12 @@ QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, Tra delete info; return tracks; } + else if(trackNumber > 0 && path.startsWith("m4b://")) //invalid chapter + { + avformat_close_input(&in); + delete info; + return QList<TrackInfo*>(); + } } avformat_close_input(&in); |
