• Max Kellermann's avatar
    pcm/PcmChannels: silence surround channels when converting from stereo · 33716732
    Max Kellermann authored
    Previously, there was no special code to convert stereo to
    multi-channel.  The generic solution for this was to convert to mono,
    and then copy the result to all channels.  That's a pretty bad
    solution, but at least something which always renders audio.  MPD does
    something, instead of failing.
    
    Now that MPD has proper support for multi-channel (by defining the
    channel order), we can do better than that.  It is a (somewhat) common
    case to play back stereo music on a DAC which can only do
    multi-channel.  The best approach here is to copy the stereo channels
    to front-left and front-right, and apply the "silence" pattern to all
    other channels.
    33716732
Name
Last commit
Last update
..
.gitignore Loading commit data...
ContainerScan.cxx Loading commit data...
DivideStringTest.hxx Loading commit data...
DumpDatabase.cxx Loading commit data...
FakeDecoderAPI.cxx Loading commit data...
FakeDecoderAPI.hxx Loading commit data...
MimeTypeTest.hxx Loading commit data...
ReadApeTags.cxx Loading commit data...
ScopeIOThread.hxx Loading commit data...
ShutdownHandler.cxx Loading commit data...
ShutdownHandler.hxx Loading commit data...
SplitStringTest.hxx Loading commit data...
TestAudioFormat.cxx Loading commit data...
TestAudioFormat.hxx Loading commit data...
TestCircularBuffer.hxx Loading commit data...
TestFs.cxx Loading commit data...
TestIcu.cxx Loading commit data...
UriUtilTest.hxx Loading commit data...
WriteFile.cxx Loading commit data...
dump_playlist.cxx Loading commit data...
dump_rva2.cxx Loading commit data...
dump_text_file.cxx Loading commit data...
read_conf.cxx Loading commit data...
read_mixer.cxx Loading commit data...
read_tags.cxx Loading commit data...
run_avahi.cxx Loading commit data...
run_convert.cxx Loading commit data...
run_decoder.cxx Loading commit data...
run_encoder.cxx Loading commit data...
run_filter.cxx Loading commit data...
run_gunzip.cxx Loading commit data...
run_gzip.cxx Loading commit data...
run_inotify.cxx Loading commit data...
run_input.cxx Loading commit data...
run_neighbor_explorer.cxx Loading commit data...
run_normalize.cxx Loading commit data...
run_output.cxx Loading commit data...
run_resolver.cxx Loading commit data...
run_storage.cxx Loading commit data...
software_volume.cxx Loading commit data...
test_archive.cxx Loading commit data...
test_archive_bzip2.sh Loading commit data...
test_archive_iso9660.sh Loading commit data...
test_archive_zzip.sh Loading commit data...
test_byte_reverse.cxx Loading commit data...
test_icy_parser.cxx Loading commit data...
test_mixramp.cxx Loading commit data...
test_pcm_all.hxx Loading commit data...
test_pcm_channels.cxx Loading commit data...
test_pcm_dither.cxx Loading commit data...
test_pcm_export.cxx Loading commit data...
test_pcm_format.cxx Loading commit data...
test_pcm_interleave.cxx Loading commit data...
test_pcm_main.cxx Loading commit data...
test_pcm_mix.cxx Loading commit data...
test_pcm_pack.cxx Loading commit data...
test_pcm_util.hxx Loading commit data...
test_pcm_volume.cxx Loading commit data...
test_protocol.cxx Loading commit data...
test_queue_priority.cxx Loading commit data...
test_rewind.cxx Loading commit data...
test_translate_song.cxx Loading commit data...
test_util.cxx Loading commit data...
test_vorbis_encoder.cxx Loading commit data...
visit_archive.cxx Loading commit data...