aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2012-04-19 23:47:23 +0200
committerMax Kellermann <max@duempel.org>2012-04-23 21:54:09 +0200
commitec931143479e67042d2393435b2f4e91235edae6 (patch)
tree83b481c9b245094c2835fdc2063f75e2074f6157 /src
parentdf1c5ce3145253fa3cd0611cefac11ee6f85a063 (diff)
downloadmpd-ec931143479e67042d2393435b2f4e91235edae6.tar.gz
mpd-ec931143479e67042d2393435b2f4e91235edae6.tar.xz
mpd-ec931143479e67042d2393435b2f4e91235edae6.zip
pcm_export: consider the pack24 flag in _source_size()
Diffstat (limited to 'src')
-rw-r--r--src/pcm_export.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pcm_export.c b/src/pcm_export.c
index 824b41b18..144ac71cd 100644
--- a/src/pcm_export.c
+++ b/src/pcm_export.c
@@ -148,6 +148,10 @@ pcm_export(struct pcm_export_state *state, const void *data, size_t size,
size_t
pcm_export_source_size(const struct pcm_export_state *state, size_t size)
{
+ if (state->pack24)
+ /* 32 bit to 24 bit conversion (4 to 3 bytes) */
+ size = (size / 3) * 4;
+
if (state->dsd_usb)
/* DSD over USB doubles the transport size */
size /= 2;