Conversation
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.
A bit like I've done in meetecho/simple-whip-server#19, this PR aims at making the WHEP module more flexible, by allowing you to use other plugins besides the Streaming plugin as a backend for subscriptions. As a proof-of-concept, this PR adds support for:
Notice that neither the VideoRoom nor the Record&Play plugin support client-offers for subscriptions, and they probably never will. This means that, to leverage those, you currently need to rely on the non-standard server-offer support in the WHEP module. Should server-offers be supported again in the WHEP specification in the future (which is a concrete possibility), I'll update the code so that the proper way of doing them is implemented.
Considering there's flexibility in which plugins to use, now, the API is a bit rough, as everything is flattened in the same object, which is ugly to see and poor in terms of mantainability/extensibility. Before merging I'll probably change the way you create WHEP endpoints by having plugin-specific objects where you can specify the associated properties (e.g., the room/feed to subscribe for VideoRoom vs. the ID of the recording to play if using Record&Play, for instance).
Notice that, to support the Record&Play plugin. this bumps the Janode requirement to the new v1.8.0.