aboutsummaryrefslogtreecommitdiffstats
path: root/ffplay.c
diff options
context:
space:
mode:
authorAndreas Öman <andreas@lonelycoder.com>2007-12-15 07:05:14 +0000
committerAndreas Öman <andreas@lonelycoder.com>2007-12-15 07:05:14 +0000
commit94eadc8ba0c8953c916acb0c431aabe5cdc8427d (patch)
treed4173f1b9e451ff4ead685ea8a597f43a2ed224d /ffplay.c
parent2886f3113eb25352999a5cf65af5302520b8a6bb (diff)
downloadffmpeg-94eadc8ba0c8953c916acb0c431aabe5cdc8427d.tar.gz
SDL does not seem to support more than two channels.
So, if this is the case, ask for downmixing by the codec. Originally committed as revision 11223 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffplay.c')
-rw-r--r--ffplay.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ffplay.c b/ffplay.c
index 288df2d41b..cc4e853440 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1695,10 +1695,12 @@ static int stream_component_open(VideoState *is, int stream_index)
if (enc->codec_type == CODEC_TYPE_AUDIO) {
wanted_spec.freq = enc->sample_rate;
wanted_spec.format = AUDIO_S16SYS;
- /* hack for AC3. XXX: suppress that */
- if (enc->channels > 2)
- enc->channels = 2;
- wanted_spec.channels = enc->channels;
+ if(enc->channels > 2) {
+ wanted_spec.channels = 2;
+ enc->request_channels = 2;
+ } else {
+ wanted_spec.channels = enc->channels;
+ }
wanted_spec.silence = 0;
wanted_spec.samples = SDL_AUDIO_BUFFER_SIZE;
wanted_spec.callback = sdl_audio_callback;