[GH-ISSUE #60] Player drops too early #50

Closed
opened 2026-02-28 14:24:57 +03:00 by kerem · 1 comment
Owner

Originally created by @tooxo on GitHub (Aug 15, 2024).
Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/60

In https://github.com/devgianlu/go-librespot/blob/master/player/player.go#L142 , the output is instructed to drop all queued frames, resulting in the end of the song missing, when one song goes over to the next without skipping.

My proposed solution: Only drop the frames, when the set command resulted from a skip and not a song regularly ending.
Alternative solution, if the above is not possible: Only drop the frames, when there is no secondary source configured. This would result in delayed skipping, if the song is in its last 30 seconds or so.

Originally created by @tooxo on GitHub (Aug 15, 2024). Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/60 In https://github.com/devgianlu/go-librespot/blob/master/player/player.go#L142 , the output is instructed to drop all queued frames, resulting in the end of the song missing, when one song goes over to the next without skipping. My proposed solution: Only drop the frames, when the set command resulted from a skip and not a song regularly ending. Alternative solution, if the above is not possible: Only drop the frames, when there is no secondary source configured. This would result in delayed skipping, if the song is in its last 30 seconds or so.
kerem 2026-02-28 14:24:57 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@devgianlu commented on GitHub (Aug 18, 2024):

Opted for the first solution.

<!-- gh-comment-id:2295311634 --> @devgianlu commented on GitHub (Aug 18, 2024): Opted for the first solution.
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#50
No description provided.