[GH-ISSUE #10] Volume change on devices with big output buffer takes a while #6

Closed
opened 2026-02-28 14:24:36 +03:00 by kerem · 3 comments
Owner

Originally created by @devgianlu on GitHub (Nov 4, 2023).
Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/10

When changing the volume on devices that have a very long output buffer it takes a while for the effect to propagate because we are outputting multiplied samples. Perphaps there's a way to let the audio backend do the volume? If that's not the case we need to drop the buffer on volume change.

Originally created by @devgianlu on GitHub (Nov 4, 2023). Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/10 When changing the volume on devices that have a very long output buffer it takes a while for the effect to propagate because we are outputting multiplied samples. Perphaps there's a way to let the audio backend do the volume? If that's not the case we need to drop the buffer on volume change.
kerem 2026-02-28 14:24:36 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@blamphos commented on GitHub (Nov 5, 2023):

First, thanks for awesome work done with this! I understand the reason for multiplying samples but this does not work for setup that is using hardware mixer or external volume control. Could you think of possibility to add config parameter which can be used to disable multiplying samples? Necessary messaging on volume control changes is there already.

<!-- gh-comment-id:1793704852 --> @blamphos commented on GitHub (Nov 5, 2023): First, thanks for awesome work done with this! I understand the reason for multiplying samples but this does not work for setup that is using hardware mixer or external volume control. Could you think of possibility to add config parameter which can be used to disable multiplying samples? Necessary messaging on volume control changes is there already.
Author
Owner

@devgianlu commented on GitHub (Nov 5, 2023):

First, thanks for awesome work done with this! I understand the reason for multiplying samples but this does not work for setup that is using hardware mixer or external volume control. Could you think of possibility to add config parameter which can be used to disable multiplying samples? Necessary messaging on volume control changes is there already.

@blamphos I have added a external_volume config option to disable internal handling of volume.

<!-- gh-comment-id:1793737569 --> @devgianlu commented on GitHub (Nov 5, 2023): > First, thanks for awesome work done with this! I understand the reason for multiplying samples but this does not work for setup that is using hardware mixer or external volume control. Could you think of possibility to add config parameter which can be used to disable multiplying samples? Necessary messaging on volume control changes is there already. @blamphos I have added a `external_volume` config option to disable internal handling of volume.
Author
Owner

@devgianlu commented on GitHub (May 20, 2024):

See #36

<!-- gh-comment-id:2120781258 --> @devgianlu commented on GitHub (May 20, 2024): See #36
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/go-librespot#6
No description provided.