webrtcsink
webrtcsink copied to clipboard
Request: webrtcsink-custom-signaller, but plugin output, not executable
Hey guys, awesome work in creating webrtcsink! @MathieuDuponchelle @sdroege and all the other contribs.
I made a basic proof of concept WHIP+webrtcsink example, starting with: webrtcsink-custom-signaller
I've mentioned it here also: #40
It is an early proof of concept, but it works.
I spent a bit of time trying to see how I could create a plugin that combines webrtcsink and my custom WHIP signaller, but found doing so fairly complex given my limited knowledge of both Rust and GStreamer.
Without PRs to webrtcsink, the only thing that was obvious was to copy huge chunks of code from plugins/src/webrtcsink/imp.rs and try to create a new plugin that invokes WebRTCSink::with_signaller(...) as part of instantiation.
But that doesn't seem like a good path to me
Please consider writing a different example like webrtcsink-custom-signaller, but showing how to create a new plugin with a custom signaller.
Let me know if you have any questions about WHIP or my proof of concept example.
wow, I'm sorry @cameronelliott I somehow didn't pay attention to this issue, I'll make sure to take a look :)
@cameronelliott I see, your signaller implementation probably needs a bit of work, but all in all it doesn't seem like too much code duplication tbh :)
I think the best way forward here would be to expose a whip signaller directly in webrtcsink, with the ability to pick either "default" or "whip" through a property.
@cameronelliott we just had a GStreamer hackfest where we (@ford-prefect, @thiblahute) decided that we will expose one factory-name / element per signallable implementation :) Closing because what needs to be done will happen on a per-protocol basis :)