summaryrefslogtreecommitdiff
path: root/libswresample/rematrix.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-04-24 01:25:46 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-04-24 01:25:46 +0200
commit291d464161a5bf3b566bc147f83e4242b0c18d74 (patch)
tree331c524909bc28de0d5c3dd5d217fe86f8b70f4b /libswresample/rematrix.c
parent417ae6281b9bddc24e1f5f11632079ff0f4639ef (diff)
swresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX input
Fixes Ticket 3542 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswresample/rematrix.c')
-rw-r--r--libswresample/rematrix.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c
index e146edfcf7..bf2abcfb20 100644
--- a/libswresample/rematrix.c
+++ b/libswresample/rematrix.c
@@ -127,6 +127,11 @@ av_cold static int auto_matrix(SwrContext *s)
)
out_ch_layout = AV_CH_LAYOUT_STEREO;
+ if( in_ch_layout == AV_CH_LAYOUT_STEREO_DOWNMIX
+ && (out_ch_layout & AV_CH_LAYOUT_STEREO_DOWNMIX) == 0
+ )
+ in_ch_layout = AV_CH_LAYOUT_STEREO;
+
if(!sane_layout(in_ch_layout)){
av_get_channel_layout_string(buf, sizeof(buf), -1, s->in_ch_layout);
av_log(s, AV_LOG_ERROR, "Input channel layout '%s' is not supported\n", buf);