Open
Conversation
The catch block in onConsoleMessage was missing a return statement, causing a compile error.
When downloading HLS content, the plugin's requestModifier (auth) was lost during variant expansion. JSHLSManifestSource (which carries the modifier) was expanded into HLSVariantVideoUrlSource objects (plain data classes without modifier support). The 'is JSSource' check at download time then returned null, causing encryption key fetches to fail with 403. Fix: eagerly extract IRequestModifier from the original JSSource during the prepare phase and store it in transient fields. Pass the captured modifier directly to downloadHlsSource/downloadFileSource instead of relying on the 'is JSSource' type check against the expanded variant. Applied to both video and audio paths.
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
While working on an issue with the Floatplane plugin. I ran across an issue with the HLS download implementation.
Playback via HLS works fine, but downloading via HLS didn't work!
Basically what was happening here is that the request modifier function is not being kept preserved throughout the video download process. So the end result is an unauthenticated attempt to download the video (which will obviously fail).
I am no expert in this codebase, so extensive feedback and nitpicking is welcome and appreciated!
Note: I also had to fix a pre-existing test that was failing to compile, but I can drop this commit if someone else pushes a fix.
I had Claude do Red-Green testing, so it created a test. I can drop this if requested.
I don't know grayjay's policy on LLM contribution (I tried to find it), so I apologize if this change is unwanted due to how it was created.
LLMs used: Claude Opus 4.6 via opencode