mirror of https://github.com/mpv-player/mpv
49df01323e
The "old" method (before the ALSA channel map API) used device aliases like "surround51" to set the channel layout. The "interesting" part was that these devices usually redirect to a hardware device. This means playing stereo would lead you to the "default" device (dmix), while e.g. 5.1 to "surround51", which automatically takes care of the fact that dmix can't do 5.1. This is pretty much nonsense, though. It shouldn't depend on the damn input media file whether the player is going to use shared access (dmix) or exclusive access (direct hw device). As a consequence, by default ao_alsa will do only what dmix can do. If the user actually wants multichannel, he has to select a suitable hw device with --audio-device. From there on, the correct speaker mapping will be ensured via the channel mapping API. The change is preparation for making multichannel output the default (as far as supported by the audio output API). Of the common APIs, only ALSA messes up beyond repair, so I feel like this change is needed. On ancient alsa-lib versions, only stereo and mono can be played with this branch. |
||
---|---|---|
.. | ||
decode | ||
filter | ||
out | ||
audio.c | ||
audio.h | ||
audio_buffer.c | ||
audio_buffer.h | ||
chmap.c | ||
chmap.h | ||
chmap_sel.c | ||
chmap_sel.h | ||
fmt-conversion.c | ||
fmt-conversion.h | ||
format.c | ||
format.h | ||
mixer.c | ||
mixer.h |