Added support for more Janus plugins for subscribing, besides the Streaming #8
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.