From aea2328906fc754c0d0cdea57c60d71522ae99a5 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 5 Apr 2013 23:06:22 +0200 Subject: audio/out: switch to channel map This actually breaks audio for 5/6/8 channels. There's no reordering done yet. The actual reordering will be done inside of af_lavrresample and has to be made part of the format negotiation. --- audio/decode/dec_audio.c | 7 ++++--- audio/decode/dec_audio.h | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'audio/decode') diff --git a/audio/decode/dec_audio.c b/audio/decode/dec_audio.c index 6c8804eec9..11232f9271 100644 --- a/audio/decode/dec_audio.c +++ b/audio/decode/dec_audio.c @@ -199,7 +199,8 @@ void uninit_audio(sh_audio_t *sh_audio) int init_audio_filters(sh_audio_t *sh_audio, int in_samplerate, - int *out_samplerate, int *out_channels, int *out_format) + int *out_samplerate, struct mp_chmap *out_channels, + int *out_format) { struct af_stream *afs = sh_audio->afilter; if (!afs) @@ -211,7 +212,7 @@ int init_audio_filters(sh_audio_t *sh_audio, int in_samplerate, // output format: same as ao driver's input format (if missing, fallback to input) afs->output.rate = *out_samplerate; - mp_audio_set_num_channels(&afs->output, *out_channels); + mp_audio_set_channels(&afs->output, out_channels); mp_audio_set_format(&afs->output, *out_format); // filter config: @@ -231,7 +232,7 @@ int init_audio_filters(sh_audio_t *sh_audio, int in_samplerate, } *out_samplerate = afs->output.rate; - *out_channels = afs->output.nch; + *out_channels = afs->output.channels; *out_format = afs->output.format; // ok! diff --git a/audio/decode/dec_audio.h b/audio/decode/dec_audio.h index 9fa6aad8dd..b46f4282fb 100644 --- a/audio/decode/dec_audio.h +++ b/audio/decode/dec_audio.h @@ -19,6 +19,7 @@ #ifndef MPLAYER_DEC_AUDIO_H #define MPLAYER_DEC_AUDIO_H +#include "audio/chmap.h" #include "demux/stheader.h" struct bstr; @@ -33,6 +34,7 @@ void skip_audio_frame(sh_audio_t *sh_audio); void uninit_audio(sh_audio_t *sh_audio); int init_audio_filters(sh_audio_t *sh_audio, int in_samplerate, - int *out_samplerate, int *out_channels, int *out_format); + int *out_samplerate, struct mp_chmap *out_channels, + int *out_format); #endif /* MPLAYER_DEC_AUDIO_H */ -- cgit v1.2.3