webrtcbin: an element that handles the transport aspects of webrtc connections
authorMatthew Waters <matthew@centricular.com>
Tue, 31 Jan 2017 09:56:59 +0000 (20:56 +1100)
committerMatthew Waters <matthew@centricular.com>
Fri, 2 Feb 2018 04:02:21 +0000 (15:02 +1100)
commit1894293d6378c69548d974d2965e9decc1527654
tree2aebde896fb4f411bb30cc9275161942cd9464ac
parent94a7bf9ede14494ffdc73677eeb980a0cf2490e7
webrtcbin: an element that handles the transport aspects of webrtc connections

SDP's are generated and consumed according to the W3C PeerConnection API
available from https://www.w3.org/TR/webrtc/

The SDP is either created initially from the connected
sink pads/attached transceivers as in the case of generating an offer or
intersected with the connected sink pads/attached transceivers as in
the case for creating an answer.  In both cases, the rtp payloaded streams
sent by the peer are exposed as separate src pads.

The implementation supports trickle ICE, RTCP muxing, reduced size RTCP.

With contributions from:
Nirbheek Chauhan <nirbheek@centricular.com>
Mathieu Duponchelle <mathieu@centricular.com>
Edward Hervey <edward@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792523
69 files changed:
.gitignore
configure.ac
docs/libs/Makefile.am
docs/libs/gst-plugins-bad-libs-docs.sgml
docs/libs/gst-plugins-bad-libs-sections.txt
docs/libs/gst-plugins-bad-libs.types
ext/Makefile.am
ext/meson.build
ext/webrtc/Makefile.am [new file with mode: 0644]
ext/webrtc/fwd.h [new file with mode: 0644]
ext/webrtc/gstwebrtc.c [new file with mode: 0644]
ext/webrtc/gstwebrtcbin.c [new file with mode: 0644]
ext/webrtc/gstwebrtcbin.h [new file with mode: 0644]
ext/webrtc/gstwebrtcice.c [new file with mode: 0644]
ext/webrtc/gstwebrtcice.h [new file with mode: 0644]
ext/webrtc/gstwebrtcstats.c [new file with mode: 0644]
ext/webrtc/gstwebrtcstats.h [new file with mode: 0644]
ext/webrtc/icestream.c [new file with mode: 0644]
ext/webrtc/icestream.h [new file with mode: 0644]
ext/webrtc/meson.build [new file with mode: 0644]
ext/webrtc/nicetransport.c [new file with mode: 0644]
ext/webrtc/nicetransport.h [new file with mode: 0644]
ext/webrtc/transportreceivebin.c [new file with mode: 0644]
ext/webrtc/transportreceivebin.h [new file with mode: 0644]
ext/webrtc/transportsendbin.c [new file with mode: 0644]
ext/webrtc/transportsendbin.h [new file with mode: 0644]
ext/webrtc/transportstream.c [new file with mode: 0644]
ext/webrtc/transportstream.h [new file with mode: 0644]
ext/webrtc/utils.c [new file with mode: 0644]
ext/webrtc/utils.h [new file with mode: 0644]
ext/webrtc/webrtcsdp.c [new file with mode: 0644]
ext/webrtc/webrtcsdp.h [new file with mode: 0644]
ext/webrtc/webrtctransceiver.c [new file with mode: 0644]
ext/webrtc/webrtctransceiver.h [new file with mode: 0644]
gst-libs/gst/Makefile.am
gst-libs/gst/meson.build
gst-libs/gst/webrtc/Makefile.am [new file with mode: 0644]
gst-libs/gst/webrtc/dtlstransport.c [new file with mode: 0644]
gst-libs/gst/webrtc/dtlstransport.h [new file with mode: 0644]
gst-libs/gst/webrtc/icetransport.c [new file with mode: 0644]
gst-libs/gst/webrtc/icetransport.h [new file with mode: 0644]
gst-libs/gst/webrtc/meson.build [new file with mode: 0644]
gst-libs/gst/webrtc/rtcsessiondescription.c [new file with mode: 0644]
gst-libs/gst/webrtc/rtcsessiondescription.h [new file with mode: 0644]
gst-libs/gst/webrtc/rtpreceiver.c [new file with mode: 0644]
gst-libs/gst/webrtc/rtpreceiver.h [new file with mode: 0644]
gst-libs/gst/webrtc/rtpsender.c [new file with mode: 0644]
gst-libs/gst/webrtc/rtpsender.h [new file with mode: 0644]
gst-libs/gst/webrtc/rtptransceiver.c [new file with mode: 0644]
gst-libs/gst/webrtc/rtptransceiver.h [new file with mode: 0644]
gst-libs/gst/webrtc/webrtc.h [new file with mode: 0644]
gst-libs/gst/webrtc/webrtc_fwd.h [new file with mode: 0644]
gst-libs/gst/webrtc/webrtc_mkenum.py [new file with mode: 0755]
pkgconfig/Makefile.am
pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in
pkgconfig/gstreamer-webrtc-uninstalled.pc.in [new file with mode: 0644]
pkgconfig/gstreamer-webrtc.pc.in [new file with mode: 0644]
pkgconfig/meson.build
tests/check/Makefile.am
tests/check/elements/.gitignore
tests/check/elements/webrtcbin.c [new file with mode: 0644]
tests/check/meson.build
tests/examples/Makefile.am
tests/examples/meson.build
tests/examples/webrtc/Makefile.am [new file with mode: 0644]
tests/examples/webrtc/meson.build [new file with mode: 0644]
tests/examples/webrtc/webrtc.c [new file with mode: 0644]
tests/examples/webrtc/webrtcbidirectional.c [new file with mode: 0644]
tests/examples/webrtc/webrtcswap.c [new file with mode: 0644]