summaryrefslogtreecommitdiffstats
path: root/audio/out/ao_rsound.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-05-09 18:06:26 +0200
committerwm4 <wm4@nowhere>2013-05-12 21:24:57 +0200
commitecc6e379b24dd5e37b864ae599a154880a2bd2d0 (patch)
treef439d10380a5f234b660cabb236470cabb1d4d0d /audio/out/ao_rsound.c
parentab8f28a672fbd8d21a98c265976068e80be082a7 (diff)
downloadmpv-ecc6e379b24dd5e37b864ae599a154880a2bd2d0.tar.bz2
mpv-ecc6e379b24dd5e37b864ae599a154880a2bd2d0.tar.xz
audio/out: channel map selection
Make all AOs use what has been introduced in the previous commit. Note that even AOs which can handle all possible layouts (like ao_null) use the new functions. This might be important if in the future ao_select_champ() possibly honors global user options about downmixing and so on.
Diffstat (limited to 'audio/out/ao_rsound.c')
-rw-r--r--audio/out/ao_rsound.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/audio/out/ao_rsound.c b/audio/out/ao_rsound.c
index 80dfa4dc2b..78ea2c63f5 100644
--- a/audio/out/ao_rsound.c
+++ b/audio/out/ao_rsound.c
@@ -121,7 +121,13 @@ static int init(struct ao *ao, char *params)
free(port);
}
- mp_chmap_reorder_to_alsa(&ao->channels);
+ // Actual channel layout unknown.
+ struct mp_chmap_sel sel = {0};
+ mp_chmap_sel_add_waveext_def(&sel);
+ if (!ao_chmap_sel_adjust(ao, &sel, &ao->channels)) {
+ rsd_free(priv->rd);
+ return -1;
+ }
rsd_set_param(priv->rd, RSD_SAMPLERATE, &ao->samplerate);
rsd_set_param(priv->rd, RSD_CHANNELS, &ao->channels.num);