Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-good.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStian Selnes <stian@pexip.com>2014-12-01 16:18:40 +0300
committerTim-Philipp Müller <tim@centricular.com>2015-07-03 13:48:41 +0300
commitef8d630a5983e7708321e2fad786d167c2a68da9 (patch)
tree950115615873026ec518e896f38f28eb714db3bd /tests/check/elements
parent9dfae82566ac5d3e5c2bce59614cfd9278cc9a03 (diff)
rtp: add H.261 RTP payloader and depayloader
Implementation according to RFC 4587. Payloader create fragments on MB boundaries in order to match MTU size the best it can. Some decoders/depayloaders in the wild are very strict about receiving a continuous bit-stream (e.g. no no-op bits between frames), so the payloader will shift the compressed bit-stream of a frame to align with the last significant bit of the previous frame. Depayloader does not try to be fancy in case of packet loss. It simply drops all packets for a frame if there is a loss, keeping it simple. https://bugzilla.gnome.org/show_bug.cgi?id=751886
Diffstat (limited to 'tests/check/elements')
-rw-r--r--tests/check/elements/rtp-payloading.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/check/elements/rtp-payloading.c b/tests/check/elements/rtp-payloading.c
index 7dc9ce07c..d11f2e406 100644
--- a/tests/check/elements/rtp-payloading.c
+++ b/tests/check/elements/rtp-payloading.c
@@ -464,6 +464,22 @@ GST_START_TEST (rtp_mpa)
}
GST_END_TEST;
+
+static const guint8 rtp_h261_frame_data[] = {
+ 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x11, 0x00, 0x00, 0x4c, 0x40, 0x00,
+ 0x15, 0x10,
+};
+static int rtp_h261_frame_data_size = 14;
+static int rtp_h261_frame_count = 1;
+
+GST_START_TEST (rtp_h261)
+{
+ rtp_pipeline_test (rtp_h261_frame_data, rtp_h261_frame_data_size,
+ rtp_h261_frame_count, "video/x-h261", "rtph261pay", "rtph261depay",
+ 0, 0, FALSE);
+}
+GST_END_TEST;
+
static const guint8 rtp_h263_frame_data[] =
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -945,6 +961,7 @@ rtp_payloading_suite (void)
tcase_add_test (tc_chain, rtp_pcma);
tcase_add_test (tc_chain, rtp_pcmu);
tcase_add_test (tc_chain, rtp_mpa);
+ tcase_add_test (tc_chain, rtp_h261);
tcase_add_test (tc_chain, rtp_h263);
tcase_add_test (tc_chain, rtp_h263p);
tcase_add_test (tc_chain, rtp_h264);