diff options
author | wm4 <wm4@nowhere> | 2013-01-30 00:54:18 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-01-30 00:54:18 +0100 |
commit | 237b7491e2553137bb3141c9f73b1da9abd55958 (patch) | |
tree | b07c98bb1b56b7bca42d8606798ce870ce793ed2 /demux | |
parent | a3322cb171fed42bc3d15adc84d03cf560fc0fc9 (diff) | |
download | mpv-237b7491e2553137bb3141c9f73b1da9abd55958.tar.bz2 mpv-237b7491e2553137bb3141c9f73b1da9abd55958.tar.xz |
demux: don't use codec_tag for raw PCM formats
In commit 2dd2d9b, raw PCM was switched to always go through ad_lavc,
and mapping codec IDs to mplayer internal codec tags was removed, as it
was not needed anymore. However, some uncompressed audio lavf demuxers
export their own codec tags, which collide with the existing internal
mplayer codec tags, leading to incorrect raw PCM codec selection based
on the misinterpreted audio tag. Re-add the mapped codec IDs from
2dd2d9b. Map them to an invalid codec tag, so that the generic lavc
decoder is selected (assumes ad_lavc is the decoder for raw PCM).
Diffstat (limited to 'demux')
-rw-r--r-- | demux/mp_taglists.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/demux/mp_taglists.c b/demux/mp_taglists.c index d5bbcae693..2b3968dcf9 100644 --- a/demux/mp_taglists.c +++ b/demux/mp_taglists.c @@ -73,6 +73,14 @@ static const struct tag mp_codecid_override_tags[] = { { CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')}, { CODEC_ID_H264, MKTAG('H', '2', '6', '4')}, { CODEC_ID_MPEG4, MKTAG('M', 'P', '4', 'V')}, + { CODEC_ID_PCM_S8, -1}, + { CODEC_ID_PCM_U8, -1}, + { CODEC_ID_PCM_S16BE, -1}, + { CODEC_ID_PCM_S16LE, -1}, + { CODEC_ID_PCM_S24BE, -1}, + { CODEC_ID_PCM_S24LE, -1}, + { CODEC_ID_PCM_S32BE, -1}, + { CODEC_ID_PCM_S32LE, -1}, { CODEC_ID_PCM_BLURAY, MKTAG('B', 'P', 'C', 'M')}, { CODEC_ID_MP2, 0x50}, { CODEC_ID_MPEG2VIDEO, MKTAG('M', 'P', 'G', '2')}, |