After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 719386 - srtp: new element srtpbin
srtp: new element srtpbin
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-11-26 22:55 UTC by Aleix Conchillo Flaqué
Modified: 2013-12-06 00:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
new srtpbin element (67.58 KB, patch)
2013-11-26 22:55 UTC, Aleix Conchillo Flaqué
none Details | Review

Description Aleix Conchillo Flaqué 2013-11-26 22:55:12 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.
Comment 1 Olivier Crête 2013-11-26 23:12:16 UTC
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.
Comment 2 Aleix Conchillo Flaqué 2013-11-26 23:41:05 UTC
(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.
Comment 3 Aleix Conchillo Flaqué 2013-11-26 23:57:53 UTC
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.
Comment 4 Olivier Crête 2013-11-27 00:10:25 UTC
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.
Comment 5 Aleix Conchillo Flaqué 2013-11-29 16:49:57 UTC
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.
Comment 6 Aleix Conchillo Flaqué 2013-12-06 00:11:46 UTC
Marking as resolved. As mentioned in comment 5 this will be added in rtpbin, see bug 719938.