gstreamer/tests/check/elements
Marc Leeman 3ef737605a rtpmanagerbad: add RTP streaming elements
This is a re-implementation of the RTP elements that are submitted in
2013 to handle RTP streams. The elements handle a correct connection
for the bi-directional use of the RTCP sockets.

https://bugzilla.gnome.org/show_bug.cgi?id=703111

The rtpsink and rtpsrc elements add an URI interface so that streams
can be decoded with decodebin using the rtp:// interface.

The code can be used as follows

```
gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234

gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! xvimagesink

gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay ! avdec_mpeg4 ! videoconvert ! xvimagesink
```

rtpmanagerbad: add pkg-config
rtpmanagerbad: Rtp should be uppercase
rtpmanagerbad: add G_OS_WIN32 for shielding unix headers
rtpmanagerbad: remove Since from documentation
rtpmanagerbad: rename lib name from nrtp to rtpmanagerbad
rtpmanagerbad: sync meson.build with other modules
rtpmanagerbad: add Makefile.am
rtpmanagerbad: use GstElement to count pads
rtpmanagerbad: use gst_bin_set_suppressed_flags
rtpmanagerbad: check element creation
rtpmanagerbad: post message when trying to access missing rtpbin
rtpmanagerbad: return FALSE with g_return tests
rtpmanagerbad: use gsocket multicast check
rtpmanagerbad: use gst_caps_new_empty_simple iso gst_caps_from_string
rtpmanagerbad: sync with gstrtppayloads.h
rtpmanagerbad: correct media type X-GST
rtpmanagerbad: test if a compatible pad was found
rtpmanagerbad: remove evil copy of GstRTPPayloadInfo
rtpmanagerbad: add gio_dep to meson
rtpmanagerbad: revert to old glib boilerplate

GStreamer 1.16 does not yet support the newer GLib templates, so revert.

rtpmanagerbad: return GST_STATE_CHANGE_NO_PREROLL for live sources

for live sources, NO_PREROLL should be returned for PLAYING->PAUSED and
READY->PAUSED transitions.

rtpmanagerbad: use GstElement pad counting
rtpmanagerbad: just use template name to request pad
rtpmanagerbad: remove commented code
rtpmanagerbad: use funnel to send multiple streams on one socket
rtpmanagerbad: avoid beaches

beaches should only be used during the summer, so rewrite the code to
return explicitly and avoid beaches during the winter.

rtpmanagerbad: add copyright to test code
rtpmanagerbad: g_free is NULL safe
rtpmanagerbad: do not trace rtpbin
rtpmanagerbad: return NULL explitly
rtpmanagerbad: warn when data port is not even

According to RFC 3550, RTP data should be sent on even ports, while RTCP
is sent on the following odd port.

rtpmanagerbad: document port allocation in rtpsink/src
rtpmanagerbad: improve uri description
rtpmanagerbad: add comment re-use socket
rtpmanagerbad: rename gst_object_set_properties_from_uri_query
rtpmanagerbad: loan prop/val setter from rist
rtpmanagerbad: rtpsrc: fix unitialised pointer
rtpmanagerbad: fix silly typo
rtpmanagerbad: test for empty key/value
rtpmanagerbad: rtpsrc: deprecate ssrc collision to INFO
rtpmanagerbad: sync debug with rist
rtpmanagerbad: small strings allocated on stack
rtpmanagerbad: correct rename
rtpmanagerbad: add locking on prop setters/getters

Locking is added because the URI allows to access the properties too.

rtpmanagerbad: allow for RTCP through NAT
rtpmanagerbad: move gio to header file
rtpmanagerbad: free small strings too
rtpmanagerbad: ttl_mc for ttl on dynudpsink
rtpmanagerbad: add comments on the URI registered
rtpmanagerbad: correct macro after file rename
rtpmanagerbad: code style
rtpmanagerbad: handle wrong URIs in setter
rtpmanagerbad: nit URI notation correction

In an URI, the first key/value pair should not have an ampersand, the
parser did not die though.
2019-06-03 20:08:23 +00:00
..
dash_mpd_data mpdparser: Support multiple Period elements in external xml 2016-11-14 16:56:43 +02:00
uvch264demux_data UVC H264 plugin 2012-09-10 16:09:26 -04:00
.gitignore rtpmanagerbad: add RTP streaming elements 2019-06-03 20:08:23 +00:00
adaptive_demux_common.c tests: fix bus leak in hls_demux testSeek unit test 2019-03-08 01:18:39 +00:00
adaptive_demux_common.h tests: adaptivedemux: only check for data length after seek 2016-04-22 17:33:15 -03:00
adaptive_demux_engine.c adaptivedemux: Allow that 2017-02-09 00:16:33 +11:00
adaptive_demux_engine.h Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 14:35:48 -07:00
aiffparse.c aiffparse: In PUSH mode we will never get the ID3 tags as they are at the end of the file 2016-08-02 17:07:37 +03:00
asfmux.c tests: Remove pointless unistd include 2018-12-30 22:34:43 +09:00
assrender.c assrender: Fix compiler warning in test 2014-02-08 20:07:16 +01:00
autoconvert.c fix buffer leaks in tests 2016-06-21 10:52:47 +03:00
autovideoconvert.c tests: fix bus leak 2016-07-18 12:41:12 +01:00
avwait.c avwait: Start video and audio together if audio starts late 2018-08-17 14:57:36 +03:00
camerabin.c tests: Remove pointless unistd include 2018-12-30 22:34:43 +09:00
cccombiner.c cccombiner: Add unit test 2018-11-06 16:21:42 +00:00
ccconverter.c ccconverter: Add unit test 2018-12-19 00:20:26 +02:00
ccextractor.c ccextractor: Copy over timecode meta from the input buffers to the outgoing caption buffers 2018-12-06 16:06:05 +00:00
curlfilesink.c curl*sink: improve return value checks in test cases 2014-04-26 10:21:10 +02:00
curlftpsink.c tests: fix indentation 2015-12-23 23:14:17 +00:00
curlhttpsink.c tests: fix indentation 2015-12-23 23:14:17 +00:00
curlhttpsrc.c tests: curlhttpsrc: add unit tests 2019-02-19 17:55:12 +00:00
curlsftpsink.c curlsftpsink: authenticate remote host via public key fingerprint 2014-05-20 08:58:08 +02:00
curlsmtpsink.c tests: fix indentation 2015-12-23 23:14:17 +00:00
dash_demux.c tests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags in seeks 2018-06-18 12:18:07 +03:00
dash_mpd.c tests/dash_mpd: take account of Period start in expected timestamps 2019-06-01 21:25:33 +00:00
dtls.c tests: add a test for the dtls{enc,dec} elements 2018-02-05 17:44:33 +11:00
faac.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
faad.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
gdpdepay.c tests: Remove pointless unistd include 2018-12-30 22:34:43 +09:00
gdppay.c tests: Remove pointless unistd include 2018-12-30 22:34:43 +09:00
h263parse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
h264parse.c tests: h264parse: add minimal unit test for closed caption SEI parsing 2019-04-08 19:21:34 +01:00
hls_demux.c tests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags in seeks 2018-06-18 12:18:07 +03:00
hlsdemux_m3u8.c Revert "adaptivedemux: answer duration queries for live streams" 2017-03-14 16:50:30 +11:00
id3mux.c tests: id3mux: add unit test for GST_TAG_PRIVATE_DATA writing 2015-11-27 12:44:57 +00:00
jifmux.c Fix FSF address 2012-11-04 00:09:59 +00:00
jpegparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
kate.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
line21.c closedcaption: fix leak in line21 decoder 2019-03-08 01:18:39 +00:00
mpeg2enc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mpeg4videoparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mpegtsmux.c mpegtsmux: aggregator port 2019-05-19 19:40:48 +00:00
mpegvideoparse.c tests: mpegvideoparse: add unit test for CEA-708 closed captions extraction 2018-12-11 13:56:06 +00:00
mplex.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
msdkh264enc.c tests: add msdkh264enc element unit test 2018-03-09 10:48:11 -09:00
mssdemux.c tests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags in seeks 2018-06-18 12:18:07 +03:00
mxfdemux.c mxfdemux: Fix event handling in unit test 2013-05-15 11:31:14 +02:00
mxfdemux.h tests/check/elements/mxfdemux.*: Make sure the main loop is already running when handling the EOS event in pull mode.... 2008-12-16 12:37:15 +00:00
mxfmux.c mxf: Add unit tests for H264/PCM 2015-10-21 19:54:15 +03:00
neonhttpsrc.c Fix FSF address 2012-11-04 00:09:59 +00:00
netsim.c netsim: Add netsim element 2016-02-12 10:08:06 +00:00
nvenc.c tests: Add nvenc unit test 2019-03-10 13:58:38 +09:00
ofa.c ofa: port to 1.0 2013-05-12 23:42:06 +01:00
parser.c tests: h264parse: fix failures due to insertion of au delimiter 2017-03-08 14:19:43 +02:00
parser.h tests: Fix build with MSVC 2018-12-18 16:48:17 +00:00
pcapparse.c tests: fix indentation 2015-12-23 23:14:17 +00:00
pnm.c pnm: Add a basic unit test 2016-05-24 07:21:44 +10:00
rtponvifparse.c check: Use gst_check_run_suite 2017-01-02 15:05:19 +01:00
rtponviftimestamp.c rtponviftimestamp: Update unit tests after changing default value of D-bit 2016-09-21 09:41:38 -04:00
rtpsink.c rtpmanagerbad: add RTP streaming elements 2019-06-03 20:08:23 +00:00
rtpsrc.c rtpmanagerbad: add RTP streaming elements 2019-06-03 20:08:23 +00:00
shm.c tests: shm: add an end to end test for live reception 2018-10-10 13:42:05 -04:00
srtp.c srtp: Add unit tests for MKI support 2018-11-09 15:08:05 -05:00
templatematch.c templatematch: fix buffer leak in test 2016-06-21 10:57:18 +03:00
test_http_src.c gst: Don't declare variables inside the for loop header 2016-12-13 22:39:01 +02:00
test_http_src.h adaptivedemux: tests: use macro to define names of request and response structs 2016-04-22 17:33:15 -03:00
uvch264demux.c uvch264demux: fix buffer leaks in test 2016-06-21 10:52:47 +03:00
videoframe-audiolevel.c tests: fix leak in videoframe-audiolevel test 2017-04-09 11:17:04 +03:00
viewfinderbin.c Fix FSF address 2012-11-04 00:09:59 +00:00
voaacenc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
voamrwbenc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
webrtcbin.c tests/webrtc: wait until the SDP has been set before continuing 2019-05-30 21:33:09 +10:00
x265enc.c tests/x265enc: add simple unit test 2014-10-15 17:11:47 +02:00
zbar.c zbar: split test 2015-06-07 16:27:13 +02:00