summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJose Antonio Santos Cadenas <santoscadenas@gmail.com>2015-06-03 11:20:35 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-06-05 10:18:21 +0200
commit9931bef8ca9af404da2900f3944edc18b2921b68 (patch)
treeec63e6adc58b375b7935fdae010e8130208c97b7 /tests
parent2ad27e4c138949ae0cff8584723706b929bd6e56 (diff)
rtcpbuffer: Update package validation to support reduced size rtcp packets
According to this section of the rfc. https://tools.ietf.org/html/rfc5506#section-3.4.2 The validation should be updated to accept more types of RTCP packages, with this mask change feedback packages will be also accepted. Change-Id: If5ead59e03c7c60bbe45a9b09f3ff680e7fa4868
Diffstat (limited to 'tests')
-rw-r--r--tests/check/libs/rtp.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/check/libs/rtp.c b/tests/check/libs/rtp.c
index ac6c15d57..164a2f63b 100644
--- a/tests/check/libs/rtp.c
+++ b/tests/check/libs/rtp.c
@@ -757,6 +757,40 @@ GST_START_TEST (test_rtcp_buffer)
/* close and validate */
gst_rtcp_buffer_unmap (&rtcp);
fail_unless (gst_rtcp_buffer_validate (buf) == TRUE);
+ fail_unless (gst_rtcp_buffer_validate_reduced (buf) == TRUE);
+ gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_rtcp_reduced_buffer)
+{
+ GstBuffer *buf;
+ GstRTCPPacket packet;
+ GstRTCPBuffer rtcp = { NULL, };
+ gsize offset;
+ gsize maxsize;
+
+ buf = gst_rtcp_buffer_new (1400);
+ fail_unless (buf != NULL);
+ fail_unless_equals_int (gst_buffer_get_sizes (buf, &offset, &maxsize), 0);
+ fail_unless_equals_int (offset, 0);
+ fail_unless_equals_int (maxsize, 1400);
+
+ gst_rtcp_buffer_map (buf, GST_MAP_READWRITE, &rtcp);
+
+ fail_unless (gst_rtcp_buffer_validate (buf) == FALSE);
+ fail_unless (gst_rtcp_buffer_get_first_packet (&rtcp, &packet) == FALSE);
+ fail_unless (gst_rtcp_buffer_get_packet_count (&rtcp) == 0);
+
+ /* add an SR packet */
+ fail_unless (gst_rtcp_buffer_add_packet (&rtcp, GST_RTCP_TYPE_PSFB,
+ &packet) == TRUE);
+
+ /* close and validate */
+ gst_rtcp_buffer_unmap (&rtcp);
+ fail_unless (gst_rtcp_buffer_validate (buf) == FALSE);
+ fail_unless (gst_rtcp_buffer_validate_reduced (buf) == TRUE);
gst_buffer_unref (buf);
}
@@ -992,6 +1026,7 @@ rtp_suite (void)
tcase_add_test (tc_chain, test_rtp_seqnum_compare);
tcase_add_test (tc_chain, test_rtcp_buffer);
+ tcase_add_test (tc_chain, test_rtcp_reduced_buffer);
tcase_add_test (tc_chain, test_rtp_ntp64_extension);
tcase_add_test (tc_chain, test_rtp_ntp56_extension);