summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-01-30 00:54:18 +0100
committerwm4 <wm4@nowhere>2013-01-30 00:54:18 +0100
commit237b7491e2553137bb3141c9f73b1da9abd55958 (patch)
treeb07c98bb1b56b7bca42d8606798ce870ce793ed2 /demux
parenta3322cb171fed42bc3d15adc84d03cf560fc0fc9 (diff)
downloadmpv-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.c8
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')},