aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 824b41b1..144ac71c 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;