GNOME Bugzilla – Bug 719386
srtp: new element srtpbin
Last modified: 2013-12-06 00:11:46 UTC
Created attachment 262906 [details] [review] new srtpbin element I attach a new srtpbin element. srtpbin wraps the rtpbin element and adds an encoder (srtpenc) or decoders (srtpdec) when sending or receiving RTP or RTCP packets as necessary. It provides the same pads, properties and signals as rtpbin, srtpenc and srtpdec. A part from a gst-launch pipeline I have tried it by replacing rtpbin for srtpbin with a gst-rtsp-server based server and with the rtspsrc client. These changes have been manually made and I don't have a patch for it as they are very specific to the test. But the element works. Comments are more than welcome.
I'm not super keen on duplicating the whole rtpbin API. Possibly you can put it in the rtpmanager plugin (so as to at least not duplicate the enums, etc). We also probably want something more flexible that can also handle other protocols, especially DTLS-SRTP.
(In reply to comment #1) > I'm not super keen on duplicating the whole rtpbin API. Yep, me neither, but couldn't find (didn't know) any other way to do it. Any suggestions? srtpbin doesn't reimplement rtpbin it just wraps it. But if rtpbin changes srtpbin needs to change accordingly. > Possibly you can put it > in the rtpmanager plugin (so as to at least not duplicate the enums, etc). That would be better, but as the element uses srtpenc and srtpdec I thought it belong to gst-plugins-bad. > We also probably want something more flexible that can also handle other > protocols, especially DTLS-SRTP. Doing so would mean to replace srtpenc/srtpdec for something the user provided. Is that right? Then, it make sense to move it to rtpmanager.
Great. I just saw you were just working on dtls-srtp last week. http://cgit.collabora.com/git/user/tester/gst-plugins-bad.git/log/?h=dtls I'll try to make srtpbin more generic based on that.
The dtls-srtp patches won't be merged as-is, we have to rework the GLib APIs first, so the GStreamer API may or may not stay as they current are.
A couple of days ago I talked to Wim on the IRC, he also thinks duplicating rtpbin API is not the way to go. So, I am modifying rtpbin directly by adding signals to request for encoders and decoders and signals for linking. I'll send an initial proposal next week.
Marking as resolved. As mentioned in comment 5 this will be added in rtpbin, see bug 719938.