plugins.nicolive: re-implement plugin#4155
Merged
Merged
Conversation
- re-implement websocket client - remove watchinginterval message and scheduler logic - remove currentstream command handler - rewrite login and parse response using a validation schema - rewrite websocket API URL parser using a validation schema - rewrite custom HLSStream which needs the websocket client reference - close websocket when stream closes - close websocket if no stream gets opened - remove unnecessary log spam when waiting for permit via websocket - fix URL matcher - rephrase log messages - reformat existing code
Billy2011
added a commit
to Billy2011/streamlink-27
that referenced
this pull request
Nov 9, 2021
- re-implement websocket client - remove watchinginterval message and scheduler logic - remove currentstream command handler - rewrite login and parse response using a validation schema - rewrite websocket API URL parser using a validation schema - rewrite custom HLSStream which needs the websocket client reference - close websocket when stream closes - close websocket if no stream gets opened - remove unnecessary log spam when waiting for permit via websocket - fix URL matcher - rephrase log messages - reformat existing code
Billy2011
added a commit
to Billy2011/streamlink-27
that referenced
this pull request
Nov 10, 2021
- re-implement websocket client - remove watchinginterval message and scheduler logic - remove currentstream command handler - rewrite login and parse response using a validation schema - rewrite websocket API URL parser using a validation schema - rewrite custom HLSStream which needs the websocket client reference - close websocket when stream closes - close websocket if no stream gets opened - remove unnecessary log spam when waiting for permit via websocket - fix URL matcher - rephrase log messages - reformat existing code
Billy2011
added a commit
to Billy2011/streamlink-27
that referenced
this pull request
Nov 10, 2021
- re-implement websocket client - remove watchinginterval message and scheduler logic - remove currentstream command handler - rewrite login and parse response using a validation schema - rewrite websocket API URL parser using a validation schema - rewrite custom HLSStream which needs the websocket client reference - close websocket when stream closes - close websocket if no stream gets opened - remove unnecessary log spam when waiting for permit via websocket - fix URL matcher - rephrase log messages - reformat existing code
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.
#4153
send_watchingmethod and the dedicated scheduler thread. Thewatchingintervalcommand doesn't seem to be sent anymore on their website, so I dropped thewatchingmessage stuff entirely. It also tried reading theself.broadcast_idattribute which didn't exist in the plugin, meaning it was sending thewatchingcommand without any data.currentstreamcommand on thewatchresponse type doesn't seem to exist anymore either. This looked like a second response type for getting the HLS stream URL.{"protocol": "hls+fmp4", "latency": "low"}parameters. I didn't change it because I'm not sure if it's supported everywhere. If it is, then this change is trivial and can be done later.streamlink_clias it immediately terminates, I've added logic for closing the websocket thread gracefully when no stream gets opened after a short while (for listing stream qualities via the API). This means there's a double Event.wait call here, one for acquiring the HLS URL on the main thread and one for opening the stream on the websocket thread.I'm not 100% confident with these changes, so please only merge if fully reviewed and tested.