diff options
author | Max Kellermann <max@musicpd.org> | 2017-01-11 00:11:43 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2017-01-11 10:33:23 +0100 |
commit | 9c4df669253e1b01f20ff4d496c15a8bed4a00ac (patch) | |
tree | be9fda03d546c7555ad6d9ccff2ccab2ebbfa4e1 /src/pcm/PcmExport.cxx | |
parent | 2b43ceb6c68e93feff830d2946abc8dc8f069421 (diff) |
pcm/Export: halve the sample rate for DoP
Move this sample rate fixup from the ALSA output plugin to PcmExport,
where it belongs.
Diffstat (limited to 'src/pcm/PcmExport.cxx')
-rw-r--r-- | src/pcm/PcmExport.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pcm/PcmExport.cxx b/src/pcm/PcmExport.cxx index ed8ab1707..254995d38 100644 --- a/src/pcm/PcmExport.cxx +++ b/src/pcm/PcmExport.cxx @@ -106,6 +106,11 @@ PcmExport::Params::CalcOutputSampleRate(unsigned sample_rate) const /* DSD_U32 combines four 8-bit "samples" in one 32-bit "sample" */ sample_rate /= 4; + + if (dop) + /* DoP packs two 8-bit "samples" in one 24-bit + "sample" */ + sample_rate /= 2; #endif return sample_rate; @@ -117,6 +122,9 @@ PcmExport::Params::CalcInputSampleRate(unsigned sample_rate) const #ifdef ENABLE_DSD if (dsd_u32) sample_rate *= 4; + + if (dop) + sample_rate *= 2; #endif return sample_rate; |