plugins.nicolive: WS reconnect on HLS key failure#6871
Conversation
|
I installed this pull request branch and tested it with several live streams. As a result, I confirmed that everything worked correctly. Thank you very much for your work—my sincere appreciation for your efforts! |
|
@monakanamo Thanks for testing. Please post a full debug log of a working websocket reconnect, as requested. |
|
Since I’m not exactly sure which part of the logs is required, I will include the logs from the start of the recording until it is stopped by pressing Ctrl+C. |
|
This is what I was interested in. Since these are two separate video and audio streams that need to be muxed into a single output stream, it's possible that the decyption key requests of each of them can trigger a reconnect at the same time from both threads. This is the case here, which leads to an error in the websocket client which fortunately can be recovered from. This still should be fixed though. Going to have a look now... |
6d1352b to
2b5f773
Compare
|
Please re-test and see if there are any double reconnect attempts. Those won't be logged anymore. The updated PR branch HEAD is now 2b5f773, meaning the version string should be Duplicate reconnect() calls should now be avoided until the websocket reconnection has finished. This doesn't mean though that timing issues can't occur anymore, for example when a decryption key request of the second writer thread failed just after the websocket was reconnected from the first thread where a decryption key retrieval failed. But that shouldn't be a problem. And I don't think those can't be prevented anyway. |
|
@monakanamo please re-test with a debug log once you get the time, so I can merge the changes into the master branch. |
|
Sorry for the late reply. |
|
Well... There's only one decryption key failure in your log, so it's unfortunately not useful. I'm going to merge this anyway now. If there are any errors, please report them if you encounter them. Thanks. |
Resolves #6870
@monakanamo
Please test a couple of streams and report back with a debug log, so I can see that it's working correctly. You'll have to install from this PR branch (you can't sideload the updated plugin), as there's another commit which updates the
WebsocketClientimplementation.https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md#pull-request-feedback