From fbc0b8659967ea54a8472b5f795270d38bb085dd Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Fri, 18 Jul 2014 17:39:01 -0400 Subject: lavr: Do not change the sample format for mono audio This treats mono as planar internally within libavresample rather than changing the sample format. Signed-off-by: Luca Barbato --- libavresample/utils.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'libavresample/utils.c') diff --git a/libavresample/utils.c b/libavresample/utils.c index 8c5a9e2ec2..851cd354d8 100644 --- a/libavresample/utils.c +++ b/libavresample/utils.c @@ -101,16 +101,10 @@ int avresample_open(AVAudioResampleContext *avr) av_get_sample_fmt_name(avr->internal_sample_fmt)); } - /* treat all mono as planar for easier comparison */ - if (avr->in_channels == 1) - avr->in_sample_fmt = av_get_planar_sample_fmt(avr->in_sample_fmt); - if (avr->out_channels == 1) - avr->out_sample_fmt = av_get_planar_sample_fmt(avr->out_sample_fmt); - /* we may need to add an extra conversion in order to remap channels if the output format is not planar */ if (avr->use_channel_map && !avr->mixing_needed && !avr->resample_needed && - !av_sample_fmt_is_planar(avr->out_sample_fmt)) { + !ff_sample_fmt_is_planar(avr->out_sample_fmt, avr->out_channels)) { avr->internal_sample_fmt = av_get_planar_sample_fmt(avr->out_sample_fmt); } @@ -119,7 +113,7 @@ int avresample_open(AVAudioResampleContext *avr) avr->in_convert_needed = avr->in_sample_fmt != avr->internal_sample_fmt; else avr->in_convert_needed = avr->use_channel_map && - !av_sample_fmt_is_planar(avr->out_sample_fmt); + !ff_sample_fmt_is_planar(avr->out_sample_fmt, avr->out_channels); if (avr->resample_needed || avr->mixing_needed || avr->in_convert_needed) avr->out_convert_needed = avr->internal_sample_fmt != avr->out_sample_fmt; -- cgit v1.2.3