This repository was archived by the owner on Jan 20, 2021. It is now read-only.
Conversation
Fixed an issue where reset didn't work when the queue had any tracks in it. The issue stemmed from the fact that in the last few lines of the PlayCurrent method in the queue.go, around line 314, it sets up another thread to wait and eventually skip the current track. When reset is called this skip is triggered on an empty queue which causes an error. Fixed it by adding a check around the offending lines.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before submitting this pull request, please acknowledge that you have done the following:
What type of pull request is this?
Description of your pull request:
This fixes a bug where reset panics on any non-empty queue. This was because the PlayCurrent function in queue launched a goroutine that waits until the current track is done playing, and then skips. After calling reset, this routine attempted to skip the current a track, causing an error. I added a check in the Skip function to prevent this crash.
I attempted to write the tests for this, but to actually reproduce the bug I think there has to be a valid audio stream so I just tested it manually. In the process I added some basic tests to the reset command, though none of them test this bug.