diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-06-15 01:56:23 +0300 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2016-06-15 01:56:23 +0300 |
commit | e90cdeac65b1f9f7f1ceed8da3a20203627ef9fa (patch) | |
tree | 2411764eaa5cae2a58ad39ea356048e9306477e0 /demuxer | |
parent | 01cd0b3e99575c9ab3ffa191c05acc905e6f1306 (diff) |
Fix audio stream selection by quality
Diffstat (limited to 'demuxer')
-rw-r--r-- | demuxer/Demuxers/LAVFDemuxer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/demuxer/Demuxers/LAVFDemuxer.cpp b/demuxer/Demuxers/LAVFDemuxer.cpp index c50b63fa..794a87eb 100644 --- a/demuxer/Demuxers/LAVFDemuxer.cpp +++ b/demuxer/Demuxers/LAVFDemuxer.cpp @@ -2258,11 +2258,12 @@ const CBaseDemuxer::stream *CLAVFDemuxer::SelectVideoStream() static int audio_codec_priority(AVCodecContext *codec) { int priority = 0; + const AVCodecDescriptor *desc = avcodec_descriptor_get(codec->codec_id); // lossless codecs have highest priority - if (codec->codec_descriptor && ((codec->codec_descriptor->props & (AV_CODEC_PROP_LOSSLESS|AV_CODEC_PROP_LOSSY)) == AV_CODEC_PROP_LOSSLESS)) { + if (desc && ((desc->props & (AV_CODEC_PROP_LOSSLESS|AV_CODEC_PROP_LOSSY)) == AV_CODEC_PROP_LOSSLESS)) { priority = 10; - } else if (codec->codec_descriptor && (codec->codec_descriptor->props & AV_CODEC_PROP_LOSSLESS)) { + } else if (desc && (desc->props & AV_CODEC_PROP_LOSSLESS)) { priority = 8; if (codec->codec_id == AV_CODEC_ID_DTS) { |