mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
gst: Don't declare variables inside the for loop header
This is a C99 feature.
This commit is contained in:
parent
fe2ae2c0f7
commit
63938ef730
4 changed files with 115 additions and 90 deletions
|
@ -174,8 +174,10 @@ gst_rtp_vp9_depay_process (GstRTPBaseDepayload * depay, GstRTPBuffer * rtp)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_bit && f_bit) {
|
if (p_bit && f_bit) {
|
||||||
|
gint i;
|
||||||
|
|
||||||
/* At least one P_DIFF|N, up to three times */
|
/* At least one P_DIFF|N, up to three times */
|
||||||
for (gint i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
guint p_diff, n_bit;
|
guint p_diff, n_bit;
|
||||||
|
|
||||||
if (G_UNLIKELY (size < hdrsize + 1))
|
if (G_UNLIKELY (size < hdrsize + 1))
|
||||||
|
|
|
@ -561,6 +561,7 @@ GST_START_TEST (test_only_one_lost_event_on_large_gaps)
|
||||||
GstEvent *out_event;
|
GstEvent *out_event;
|
||||||
gint jb_latency_ms = 200;
|
gint jb_latency_ms = 200;
|
||||||
gint num_lost_events = jb_latency_ms / PCMU_BUF_MS;
|
gint num_lost_events = jb_latency_ms / PCMU_BUF_MS;
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -606,7 +607,7 @@ GST_START_TEST (test_only_one_lost_event_on_large_gaps)
|
||||||
fail_unless (gst_harness_crank_single_clock_wait (h));
|
fail_unless (gst_harness_crank_single_clock_wait (h));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now receive a packet-lost-event for buffers 1 through 489 ... */
|
/* we should now receive a packet-lost-event for buffers 1 through 489 ... */
|
||||||
|
@ -621,7 +622,7 @@ GST_START_TEST (test_only_one_lost_event_on_large_gaps)
|
||||||
|
|
||||||
/* we get as many lost events as the the number of *
|
/* we get as many lost events as the the number of *
|
||||||
* buffers the jitterbuffer is able to wait for */
|
* buffers the jitterbuffer is able to wait for */
|
||||||
for (int i = 1; i < num_lost_events; i++) {
|
for (i = 1; i < num_lost_events; i++) {
|
||||||
fail_unless (gst_harness_crank_single_clock_wait (h));
|
fail_unless (gst_harness_crank_single_clock_wait (h));
|
||||||
out_event = gst_harness_pull_event (h);
|
out_event = gst_harness_pull_event (h);
|
||||||
verify_lost_event (out_event, 490 + i, (490 + i) * PCMU_BUF_DURATION,
|
verify_lost_event (out_event, 490 + i, (490 + i) * PCMU_BUF_DURATION,
|
||||||
|
@ -657,7 +658,7 @@ GST_START_TEST (test_two_lost_one_arrives_in_time)
|
||||||
* strange result (30ms lost event),
|
* strange result (30ms lost event),
|
||||||
* find out why! */
|
* find out why! */
|
||||||
GstClockTime buffer_time;
|
GstClockTime buffer_time;
|
||||||
gint b;
|
gint i, b;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -699,7 +700,7 @@ GST_START_TEST (test_two_lost_one_arrives_in_time)
|
||||||
fail_unless (gst_harness_crank_single_clock_wait (h));
|
fail_unless (gst_harness_crank_single_clock_wait (h));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now receive a packet-lost-event for buffer 3 */
|
/* we should now receive a packet-lost-event for buffer 3 */
|
||||||
|
@ -743,7 +744,7 @@ GST_START_TEST (test_late_packets_still_makes_lost_events)
|
||||||
GstEvent *out_event;
|
GstEvent *out_event;
|
||||||
gint jb_latency_ms = 100;
|
gint jb_latency_ms = 100;
|
||||||
GstClockTime buffer_time;
|
GstClockTime buffer_time;
|
||||||
gint b;
|
gint i, b;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -775,7 +776,7 @@ GST_START_TEST (test_late_packets_still_makes_lost_events)
|
||||||
gst_harness_push (h, generate_test_buffer (b)));
|
gst_harness_push (h, generate_test_buffer (b)));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now receive packet-lost-events for buffer 3 and 4 */
|
/* we should now receive packet-lost-events for buffer 3 and 4 */
|
||||||
|
@ -806,6 +807,7 @@ GST_START_TEST (test_num_late_when_considered_lost_arrives)
|
||||||
{
|
{
|
||||||
GstHarness *h = gst_harness_new ("rtpjitterbuffer");
|
GstHarness *h = gst_harness_new ("rtpjitterbuffer");
|
||||||
gboolean do_lost = __i__ != 0;
|
gboolean do_lost = __i__ != 0;
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
g_object_set (h->element, "do-lost", do_lost, "latency", 100, NULL);
|
g_object_set (h->element, "do-lost", do_lost, "latency", 100, NULL);
|
||||||
|
@ -825,7 +827,7 @@ GST_START_TEST (test_num_late_when_considered_lost_arrives)
|
||||||
|
|
||||||
if (do_lost) {
|
if (do_lost) {
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (gint i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now receive packet-lost-events for buffer 1 */
|
/* we should now receive packet-lost-events for buffer 1 */
|
||||||
|
@ -891,10 +893,11 @@ GST_START_TEST (test_lost_event_uses_pts)
|
||||||
/* advance the clock to the latest possible time buffer 4 could arrive */
|
/* advance the clock to the latest possible time buffer 4 could arrive */
|
||||||
now = i * PCMU_BUF_DURATION + jb_latency_ms * GST_MSECOND;
|
now = i * PCMU_BUF_DURATION + jb_latency_ms * GST_MSECOND;
|
||||||
gst_harness_set_time (h, now);
|
gst_harness_set_time (h, now);
|
||||||
gst_harness_push (h, generate_test_buffer_full (now, FALSE, i, i * PCMU_RTP_TS_DURATION));
|
gst_harness_push (h, generate_test_buffer_full (now, FALSE, i,
|
||||||
|
i * PCMU_RTP_TS_DURATION));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now have received a packet-lost-event for buffer 3 */
|
/* we should now have received a packet-lost-event for buffer 3 */
|
||||||
|
@ -945,7 +948,7 @@ GST_START_TEST (test_lost_event_with_backwards_rtptime)
|
||||||
... | 3 | | 4 | | 5 | | 6 | | 7 |
|
... | 3 | | 4 | | 5 | | 6 | | 7 |
|
||||||
––– ––– ––– ––– –––
|
––– ––– ––– ––– –––
|
||||||
rtptime: 3(I) 5(P) 5(P) 4(B) 6(P)
|
rtptime: 3(I) 5(P) 5(P) 4(B) 6(P)
|
||||||
arrival(dts): 3 5 5 5 6
|
arrival(dts): 3 5 5 5 6
|
||||||
|
|
||||||
Notice here that packet 6 (the B frame) make
|
Notice here that packet 6 (the B frame) make
|
||||||
the rtptime go backwards.
|
the rtptime go backwards.
|
||||||
|
@ -955,7 +958,7 @@ arrival(dts): 3 5 5 5 6
|
||||||
... | 3 | | 4 | | | | 6 | | 7 |
|
... | 3 | | 4 | | | | 6 | | 7 |
|
||||||
––– ––– - - ––– –––
|
––– ––– - - ––– –––
|
||||||
rtptime: 3(I) 5(P) 4(B) 6(P)
|
rtptime: 3(I) 5(P) 4(B) 6(P)
|
||||||
arrival(dts): 3 5 5 6
|
arrival(dts): 3 5 5 6
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -965,21 +968,21 @@ arrival(dts): 3 5 5 6
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* seqnum 4, arriving at time 5 with rtptime 5 */
|
/* seqnum 4, arriving at time 5 with rtptime 5 */
|
||||||
gst_harness_push (h, generate_test_buffer_full (
|
gst_harness_push (h, generate_test_buffer_full (5 * PCMU_BUF_DURATION, FALSE,
|
||||||
5 * PCMU_BUF_DURATION, FALSE, 4, 5 * PCMU_RTP_TS_DURATION));
|
4, 5 * PCMU_RTP_TS_DURATION));
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* seqnum 6, arriving at time 5 with rtptime 4,
|
/* seqnum 6, arriving at time 5 with rtptime 4,
|
||||||
making a gap for missing seqnum 5 */
|
making a gap for missing seqnum 5 */
|
||||||
gst_harness_push (h, generate_test_buffer_full (
|
gst_harness_push (h, generate_test_buffer_full (5 * PCMU_BUF_DURATION, FALSE,
|
||||||
5 * PCMU_BUF_DURATION, FALSE, 6, 4 * PCMU_RTP_TS_DURATION));
|
6, 4 * PCMU_RTP_TS_DURATION));
|
||||||
|
|
||||||
/* seqnum 7, arriving at time 6 with rtptime 6 */
|
/* seqnum 7, arriving at time 6 with rtptime 6 */
|
||||||
gst_harness_push (h, generate_test_buffer_full (
|
gst_harness_push (h, generate_test_buffer_full (6 * PCMU_BUF_DURATION, FALSE,
|
||||||
6 * PCMU_BUF_DURATION, FALSE, 7, 6 * PCMU_RTP_TS_DURATION));
|
7, 6 * PCMU_RTP_TS_DURATION));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now have received a packet-lost-event for seqnum 5,
|
/* we should now have received a packet-lost-event for seqnum 5,
|
||||||
|
@ -1009,7 +1012,7 @@ GST_START_TEST (test_all_packets_are_timestamped_zero)
|
||||||
GstBuffer *out_buf;
|
GstBuffer *out_buf;
|
||||||
GstEvent *out_event;
|
GstEvent *out_event;
|
||||||
gint jb_latency_ms = 100;
|
gint jb_latency_ms = 100;
|
||||||
gint b;
|
gint i, b;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -1041,7 +1044,7 @@ GST_START_TEST (test_all_packets_are_timestamped_zero)
|
||||||
generate_test_buffer_full (0 * GST_MSECOND, TRUE, b, 0)));
|
generate_test_buffer_full (0 * GST_MSECOND, TRUE, b, 0)));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now receive packet-lost-events for buffer 3 and 4 */
|
/* we should now receive packet-lost-events for buffer 3 and 4 */
|
||||||
|
@ -1136,13 +1139,14 @@ GST_START_TEST (test_loss_equidistant_spacing_with_parameter_packets)
|
||||||
gint latency_ms = 5;
|
gint latency_ms = 5;
|
||||||
gint seq, frame;
|
gint seq, frame;
|
||||||
gint num_init_frames = 10;
|
gint num_init_frames = 10;
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
g_object_set (h->element, "do-lost", TRUE, "latency", latency_ms, NULL);
|
g_object_set (h->element, "do-lost", TRUE, "latency", latency_ms, NULL);
|
||||||
|
|
||||||
/* drop stream-start, caps, segment */
|
/* drop stream-start, caps, segment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
for (frame = 0, seq = 0; frame < num_init_frames; frame++, seq++) {
|
for (frame = 0, seq = 0; frame < num_init_frames; frame++, seq++) {
|
||||||
|
@ -1160,7 +1164,7 @@ GST_START_TEST (test_loss_equidistant_spacing_with_parameter_packets)
|
||||||
/* Push three packets with same rtptime, simulating parameter packets +
|
/* Push three packets with same rtptime, simulating parameter packets +
|
||||||
* frame. This should not disable equidistant mode as it is common for
|
* frame. This should not disable equidistant mode as it is common for
|
||||||
* certain audio codecs. */
|
* certain audio codecs. */
|
||||||
for (gint i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
gst_harness_set_time (h, frame * PCMU_BUF_DURATION);
|
gst_harness_set_time (h, frame * PCMU_BUF_DURATION);
|
||||||
gst_harness_push (h, generate_test_buffer_full (frame * PCMU_BUF_DURATION,
|
gst_harness_push (h, generate_test_buffer_full (frame * PCMU_BUF_DURATION,
|
||||||
i == 2, seq++, frame * PCMU_RTP_TS_DURATION));
|
i == 2, seq++, frame * PCMU_RTP_TS_DURATION));
|
||||||
|
@ -1209,6 +1213,7 @@ GST_START_TEST (test_rtx_expected_next)
|
||||||
GstEvent *out_event;
|
GstEvent *out_event;
|
||||||
gint jb_latency_ms = 200;
|
gint jb_latency_ms = 200;
|
||||||
const GstClockTime rtx_retry_timeout = 40 * GST_MSECOND;
|
const GstClockTime rtx_retry_timeout = 40 * GST_MSECOND;
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -1236,7 +1241,7 @@ GST_START_TEST (test_rtx_expected_next)
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
gst_event_unref (gst_harness_pull_upstream_event (h));
|
gst_event_unref (gst_harness_pull_upstream_event (h));
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
out_event = gst_harness_pull_upstream_event (h);
|
out_event = gst_harness_pull_upstream_event (h);
|
||||||
|
@ -1275,13 +1280,14 @@ GST_START_TEST (test_rtx_two_missing)
|
||||||
gint latency_ms = 200;
|
gint latency_ms = 200;
|
||||||
gint rtx_delay_ms;
|
gint rtx_delay_ms;
|
||||||
GstClockTime last_rtx_request, now;
|
GstClockTime last_rtx_request, now;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
g_object_set (h->element, "do-retransmission", TRUE, "latency", latency_ms,
|
g_object_set (h->element, "do-retransmission", TRUE, "latency", latency_ms,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
for (gint i = 0; i <= latency_ms / PCMU_BUF_MS; i++) {
|
for (i = 0; i <= latency_ms / PCMU_BUF_MS; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1292,7 +1298,7 @@ GST_START_TEST (test_rtx_two_missing)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i <= latency_ms / PCMU_BUF_MS; i++)
|
for (i = 0; i <= latency_ms / PCMU_BUF_MS; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
|
@ -1405,13 +1411,13 @@ GST_START_TEST (test_rtx_packet_delay)
|
||||||
* retransmission right away */
|
* retransmission right away */
|
||||||
gst_harness_set_time (h, 1 * PCMU_BUF_DURATION);
|
gst_harness_set_time (h, 1 * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer_full (1 * PCMU_BUF_DURATION, TRUE, 8,
|
gst_harness_push (h, generate_test_buffer_full (1 * PCMU_BUF_DURATION,
|
||||||
1 * PCMU_RTP_TS_DURATION)));
|
TRUE, 8, 1 * PCMU_RTP_TS_DURATION)));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
gst_event_unref (gst_harness_pull_upstream_event (h));
|
gst_event_unref (gst_harness_pull_upstream_event (h));
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* we should now receive retransmission requests for 2 -> 5 */
|
/* we should now receive retransmission requests for 2 -> 5 */
|
||||||
|
@ -1427,8 +1433,8 @@ GST_START_TEST (test_rtx_packet_delay)
|
||||||
|
|
||||||
/* push 9, this should immediately request retransmission of 5 */
|
/* push 9, this should immediately request retransmission of 5 */
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer_full (1 * PCMU_BUF_DURATION, TRUE, 9,
|
gst_harness_push (h, generate_test_buffer_full (1 * PCMU_BUF_DURATION,
|
||||||
1 * PCMU_RTP_TS_DURATION)));
|
TRUE, 9, 1 * PCMU_RTP_TS_DURATION)));
|
||||||
|
|
||||||
/* we should now receive retransmission requests for 5 */
|
/* we should now receive retransmission requests for 5 */
|
||||||
out_event = gst_harness_pull_upstream_event (h);
|
out_event = gst_harness_pull_upstream_event (h);
|
||||||
|
@ -1500,6 +1506,7 @@ GST_START_TEST (test_rtx_buffer_arrives_just_in_time)
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
GstBuffer *buffer;
|
GstBuffer *buffer;
|
||||||
GstClockTime now, last_rtx_request;
|
GstClockTime now, last_rtx_request;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -1508,7 +1515,7 @@ GST_START_TEST (test_rtx_buffer_arrives_just_in_time)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1519,7 +1526,7 @@ GST_START_TEST (test_rtx_buffer_arrives_just_in_time)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
|
@ -1566,6 +1573,7 @@ GST_START_TEST (test_rtx_buffer_arrives_too_late)
|
||||||
gint latency_ms = 5 * PCMU_BUF_MS;
|
gint latency_ms = 5 * PCMU_BUF_MS;
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
GstClockTime now, last_rtx_request;
|
GstClockTime now, last_rtx_request;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -1574,7 +1582,7 @@ GST_START_TEST (test_rtx_buffer_arrives_too_late)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1585,13 +1593,13 @@ GST_START_TEST (test_rtx_buffer_arrives_too_late)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
gst_event_unref (gst_harness_pull_upstream_event (h));
|
gst_event_unref (gst_harness_pull_upstream_event (h));
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (gint i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* Crank clock to send retransmission events requesting seqnum 6 which has
|
/* Crank clock to send retransmission events requesting seqnum 6 which has
|
||||||
|
@ -1639,6 +1647,7 @@ GST_START_TEST (test_rtx_original_buffer_does_not_update_rtx_stats)
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
GstBuffer *buffer;
|
GstBuffer *buffer;
|
||||||
GstClockTime now, last_rtx_request;
|
GstClockTime now, last_rtx_request;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -1647,7 +1656,7 @@ GST_START_TEST (test_rtx_original_buffer_does_not_update_rtx_stats)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1658,7 +1667,7 @@ GST_START_TEST (test_rtx_original_buffer_does_not_update_rtx_stats)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
|
@ -1731,6 +1740,7 @@ GST_START_TEST (test_rtx_duplicate_packet_updates_rtx_stats)
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
GstClockTime now, rtx_request_6, rtx_request_7;
|
GstClockTime now, rtx_request_6, rtx_request_7;
|
||||||
gint rtx_delay_ms;
|
gint rtx_delay_ms;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -1739,7 +1749,7 @@ GST_START_TEST (test_rtx_duplicate_packet_updates_rtx_stats)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1750,7 +1760,7 @@ GST_START_TEST (test_rtx_duplicate_packet_updates_rtx_stats)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* Drop reconfigure event */
|
/* Drop reconfigure event */
|
||||||
|
@ -1822,7 +1832,7 @@ GST_START_TEST (test_rtx_duplicate_packet_updates_rtx_stats)
|
||||||
fail_unless_equals_int (GST_FLOW_OK, gst_harness_push (h,
|
fail_unless_equals_int (GST_FLOW_OK, gst_harness_push (h,
|
||||||
generate_test_buffer_rtx (now, 6)));
|
generate_test_buffer_rtx (now, 6)));
|
||||||
|
|
||||||
for (gint i = 6; i <= 8; i++) {
|
for (i = 6; i <= 8; i++) {
|
||||||
GstBuffer *buf = gst_harness_pull (h);
|
GstBuffer *buf = gst_harness_pull (h);
|
||||||
fail_unless_equals_int (i, get_rtp_seq_num (buf));
|
fail_unless_equals_int (i, get_rtp_seq_num (buf));
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
@ -1856,6 +1866,7 @@ GST_START_TEST (test_rtx_buffer_arrives_after_lost_updates_rtx_stats)
|
||||||
gint latency_ms = 5 * PCMU_BUF_MS;
|
gint latency_ms = 5 * PCMU_BUF_MS;
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
GstClockTime now, last_rtx_request;
|
GstClockTime now, last_rtx_request;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -1864,7 +1875,7 @@ GST_START_TEST (test_rtx_buffer_arrives_after_lost_updates_rtx_stats)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1875,13 +1886,13 @@ GST_START_TEST (test_rtx_buffer_arrives_after_lost_updates_rtx_stats)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
gst_event_unref (gst_harness_pull_upstream_event (h));
|
gst_event_unref (gst_harness_pull_upstream_event (h));
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (gint i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* Crank clock to send retransmission events requesting seqnum 6 which has
|
/* Crank clock to send retransmission events requesting seqnum 6 which has
|
||||||
|
@ -1933,6 +1944,7 @@ GST_START_TEST (test_rtx_rtt_larger_than_retry_timeout)
|
||||||
gint rtx_delay_ms = 10;
|
gint rtx_delay_ms = 10;
|
||||||
gint rtt = rtx_retry_timeout_ms * GST_MSECOND + 1;
|
gint rtt = rtx_retry_timeout_ms * GST_MSECOND + 1;
|
||||||
GstClockTime now, first_request, second_request;
|
GstClockTime now, first_request, second_request;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -1941,7 +1953,7 @@ GST_START_TEST (test_rtx_rtt_larger_than_retry_timeout)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -1952,7 +1964,7 @@ GST_START_TEST (test_rtx_rtt_larger_than_retry_timeout)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* Drop reconfigure event */
|
/* Drop reconfigure event */
|
||||||
|
@ -2120,6 +2132,7 @@ GST_START_TEST (test_rtx_same_delay_and_retry_timeout)
|
||||||
gint latency_ms = 5 * PCMU_BUF_MS;
|
gint latency_ms = 5 * PCMU_BUF_MS;
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
GstClockTime last_rtx_request;
|
GstClockTime last_rtx_request;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -2128,7 +2141,7 @@ GST_START_TEST (test_rtx_same_delay_and_retry_timeout)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -2139,7 +2152,7 @@ GST_START_TEST (test_rtx_same_delay_and_retry_timeout)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
|
@ -2190,9 +2203,7 @@ GST_START_TEST (test_rtx_with_backwards_rtptime)
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
g_object_set (h->element,
|
g_object_set (h->element,
|
||||||
"do-retransmission", TRUE,
|
"do-retransmission", TRUE, "latency", jb_latency_ms, NULL);
|
||||||
"latency", jb_latency_ms,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
/* push the first buffer through */
|
/* push the first buffer through */
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
|
@ -2215,7 +2226,7 @@ GST_START_TEST (test_rtx_with_backwards_rtptime)
|
||||||
... | 3 | | 4 | | 5 |
|
... | 3 | | 4 | | 5 |
|
||||||
––– ––– –––
|
––– ––– –––
|
||||||
rtptime: 3(I) 5(P) 4(B)
|
rtptime: 3(I) 5(P) 4(B)
|
||||||
arrival(dts): 3 5 5
|
arrival(dts): 3 5 5
|
||||||
|
|
||||||
Notice here that packet 5 (the B frame) make
|
Notice here that packet 5 (the B frame) make
|
||||||
the rtptime go backwards.
|
the rtptime go backwards.
|
||||||
|
@ -2227,13 +2238,13 @@ arrival(dts): 3 5 5
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* seqnum 4, arriving at time 5 with rtptime 5 */
|
/* seqnum 4, arriving at time 5 with rtptime 5 */
|
||||||
gst_harness_push (h, generate_test_buffer_full (
|
gst_harness_push (h, generate_test_buffer_full (5 * PCMU_BUF_DURATION, FALSE,
|
||||||
5 * PCMU_BUF_DURATION, FALSE, 4, 5 * PCMU_RTP_TS_DURATION));
|
4, 5 * PCMU_RTP_TS_DURATION));
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* seqnum 5, arriving at time 5 with rtptime 4 */
|
/* seqnum 5, arriving at time 5 with rtptime 4 */
|
||||||
gst_harness_push (h, generate_test_buffer_full (
|
gst_harness_push (h, generate_test_buffer_full (5 * PCMU_BUF_DURATION, FALSE,
|
||||||
5 * PCMU_BUF_DURATION, FALSE, 5, 4 * PCMU_RTP_TS_DURATION));
|
5, 4 * PCMU_RTP_TS_DURATION));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
gst_event_unref (gst_harness_pull_upstream_event (h));
|
gst_event_unref (gst_harness_pull_upstream_event (h));
|
||||||
|
@ -2263,6 +2274,7 @@ GST_START_TEST (test_rtx_timer_reuse)
|
||||||
GstTestClock *testclock;
|
GstTestClock *testclock;
|
||||||
gint latency_ms = 5 * PCMU_BUF_MS;
|
gint latency_ms = 5 * PCMU_BUF_MS;
|
||||||
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
gint num_init_buffers = latency_ms / PCMU_BUF_MS + 1;
|
||||||
|
gint i;
|
||||||
|
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
|
@ -2271,7 +2283,7 @@ GST_START_TEST (test_rtx_timer_reuse)
|
||||||
|
|
||||||
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
/* Push/pull buffers and advance time past buffer 0's timeout (in order to
|
||||||
* simplify the test) */
|
* simplify the test) */
|
||||||
for (gint i = 0; i < num_init_buffers; i++) {
|
for (i = 0; i < num_init_buffers; i++) {
|
||||||
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
gst_test_clock_set_time (testclock, i * PCMU_BUF_DURATION);
|
||||||
fail_unless_equals_int (GST_FLOW_OK,
|
fail_unless_equals_int (GST_FLOW_OK,
|
||||||
gst_harness_push (h, generate_test_buffer (i)));
|
gst_harness_push (h, generate_test_buffer (i)));
|
||||||
|
@ -2282,7 +2294,7 @@ GST_START_TEST (test_rtx_timer_reuse)
|
||||||
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
fail_unless_equals_int64 (latency_ms * GST_MSECOND,
|
||||||
gst_clock_get_time (GST_CLOCK (testclock)));
|
gst_clock_get_time (GST_CLOCK (testclock)));
|
||||||
|
|
||||||
for (gint i = 0; i < num_init_buffers; i++)
|
for (i = 0; i < num_init_buffers; i++)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop reconfigure event */
|
/* drop reconfigure event */
|
||||||
|
@ -2504,6 +2516,7 @@ GST_START_TEST (test_gap_larger_than_latency)
|
||||||
GstTestClock *testclock;
|
GstTestClock *testclock;
|
||||||
GstEvent *out_event;
|
GstEvent *out_event;
|
||||||
gint jb_latency_ms = 100;
|
gint jb_latency_ms = 100;
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -2521,17 +2534,17 @@ GST_START_TEST (test_gap_larger_than_latency)
|
||||||
gst_harness_push (h, generate_test_buffer (7)));
|
gst_harness_push (h, generate_test_buffer (7)));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (int i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* Packet 1 and 2 are already lost at this point */
|
/* Packet 1 and 2 are already lost at this point */
|
||||||
for (gint i = 1; i <= 2; i++) {
|
for (i = 1; i <= 2; i++) {
|
||||||
out_event = gst_harness_pull_event (h);
|
out_event = gst_harness_pull_event (h);
|
||||||
verify_lost_event (out_event, i, i * PCMU_BUF_DURATION, PCMU_BUF_DURATION);
|
verify_lost_event (out_event, i, i * PCMU_BUF_DURATION, PCMU_BUF_DURATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Packets 3-6 have to be timed out */
|
/* Packets 3-6 have to be timed out */
|
||||||
for (gint i = 3; i <= 6; i++) {
|
for (i = 3; i <= 6; i++) {
|
||||||
fail_unless (gst_harness_crank_single_clock_wait (h));
|
fail_unless (gst_harness_crank_single_clock_wait (h));
|
||||||
out_event = gst_harness_pull_event (h);
|
out_event = gst_harness_pull_event (h);
|
||||||
verify_lost_event (out_event, i, i * PCMU_BUF_DURATION, PCMU_BUF_DURATION);
|
verify_lost_event (out_event, i, i * PCMU_BUF_DURATION, PCMU_BUF_DURATION);
|
||||||
|
@ -2620,6 +2633,7 @@ GST_START_TEST (test_considered_lost_packet_in_large_gap_arrives)
|
||||||
&test_considered_lost_packet_in_large_gap_arrives_input[__i__];
|
&test_considered_lost_packet_in_large_gap_arrives_input[__i__];
|
||||||
guint seq_offset = test_input->seqnum_offset;
|
guint seq_offset = test_input->seqnum_offset;
|
||||||
guint late_buffer = test_input->late_buffer;
|
guint late_buffer = test_input->late_buffer;
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_set_src_caps (h, generate_caps ());
|
gst_harness_set_src_caps (h, generate_caps ());
|
||||||
testclock = gst_harness_get_testclock (h);
|
testclock = gst_harness_get_testclock (h);
|
||||||
|
@ -2633,7 +2647,7 @@ GST_START_TEST (test_considered_lost_packet_in_large_gap_arrives)
|
||||||
gst_buffer_unref (gst_harness_pull (h));
|
gst_buffer_unref (gst_harness_pull (h));
|
||||||
|
|
||||||
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
/* drop GstEventStreamStart & GstEventCaps & GstEventSegment */
|
||||||
for (gint i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
gst_event_unref (gst_harness_pull_event (h));
|
gst_event_unref (gst_harness_pull_event (h));
|
||||||
|
|
||||||
/* hop over 3 packets, and push buffer 4 (gap of 3) */
|
/* hop over 3 packets, and push buffer 4 (gap of 3) */
|
||||||
|
|
|
@ -138,6 +138,7 @@ GST_START_TEST (test_rtxsend_rtxreceive)
|
||||||
GstBuffer *inbufs[5];
|
GstBuffer *inbufs[5];
|
||||||
GstHarness *hrecv = gst_harness_new ("rtprtxreceive");
|
GstHarness *hrecv = gst_harness_new ("rtprtxreceive");
|
||||||
GstHarness *hsend = gst_harness_new ("rtprtxsend");
|
GstHarness *hsend = gst_harness_new ("rtprtxsend");
|
||||||
|
gint i;
|
||||||
|
|
||||||
pt_map = gst_structure_new ("application/x-rtp-pt-map",
|
pt_map = gst_structure_new ("application/x-rtp-pt-map",
|
||||||
"96", G_TYPE_UINT, rtx_pt, NULL);
|
"96", G_TYPE_UINT, rtx_pt, NULL);
|
||||||
|
@ -154,7 +155,7 @@ GST_START_TEST (test_rtxsend_rtxreceive)
|
||||||
"encoding-name = (string)RAW");
|
"encoding-name = (string)RAW");
|
||||||
|
|
||||||
/* Push 'packets_num' packets through rtxsend to rtxreceive */
|
/* Push 'packets_num' packets through rtxsend to rtxreceive */
|
||||||
for (gint i = 0; i < packets_num; ++i) {
|
for (i = 0; i < packets_num; ++i) {
|
||||||
inbufs[i] = create_rtp_buffer (master_ssrc, master_pt, 100 + i);
|
inbufs[i] = create_rtp_buffer (master_ssrc, master_pt, 100 + i);
|
||||||
gst_harness_push (hsend, gst_buffer_ref (inbufs[i]));
|
gst_harness_push (hsend, gst_buffer_ref (inbufs[i]));
|
||||||
gst_harness_push (hrecv, gst_harness_pull (hsend));
|
gst_harness_push (hrecv, gst_harness_pull (hsend));
|
||||||
|
@ -169,7 +170,7 @@ GST_START_TEST (test_rtxsend_rtxreceive)
|
||||||
Push RTX packets from rtxsend to rtxreceive and
|
Push RTX packets from rtxsend to rtxreceive and
|
||||||
check that the packet produced out of RTX packet is the same
|
check that the packet produced out of RTX packet is the same
|
||||||
as an original packet */
|
as an original packet */
|
||||||
for (gint i = 0; i < packets_num; ++i) {
|
for (i = 0; i < packets_num; ++i) {
|
||||||
GstBuffer *outbuf;
|
GstBuffer *outbuf;
|
||||||
gst_harness_push_upstream_event (hrecv,
|
gst_harness_push_upstream_event (hrecv,
|
||||||
create_rtx_event (master_ssrc, master_pt, 100 + i));
|
create_rtx_event (master_ssrc, master_pt, 100 + i));
|
||||||
|
@ -221,6 +222,7 @@ GST_START_TEST (test_rtxsend_rtxreceive_with_packet_loss)
|
||||||
GstStructure *pt_map;
|
GstStructure *pt_map;
|
||||||
GstHarness *hrecv = gst_harness_new ("rtprtxreceive");
|
GstHarness *hrecv = gst_harness_new ("rtprtxreceive");
|
||||||
GstHarness *hsend = gst_harness_new ("rtprtxsend");
|
GstHarness *hsend = gst_harness_new ("rtprtxsend");
|
||||||
|
gint drop_nth_packet, i;
|
||||||
|
|
||||||
pt_map = gst_structure_new ("application/x-rtp-pt-map",
|
pt_map = gst_structure_new ("application/x-rtp-pt-map",
|
||||||
"96", G_TYPE_UINT, rtx_pt, NULL);
|
"96", G_TYPE_UINT, rtx_pt, NULL);
|
||||||
|
@ -244,8 +246,8 @@ GST_START_TEST (test_rtxsend_rtxreceive_with_packet_loss)
|
||||||
/* Push 'packets_num' packets through rtxsend to rtxreceive loosing every
|
/* Push 'packets_num' packets through rtxsend to rtxreceive loosing every
|
||||||
'drop_every_n_packets' packet. When we loose the packet we send RTX event
|
'drop_every_n_packets' packet. When we loose the packet we send RTX event
|
||||||
through rtxreceive to rtxsend, and verify the packet was retransmitted */
|
through rtxreceive to rtxsend, and verify the packet was retransmitted */
|
||||||
for (gint drop_nth_packet = 2; drop_nth_packet < 10; ++drop_nth_packet) {
|
for (drop_nth_packet = 2; drop_nth_packet < 10; ++drop_nth_packet) {
|
||||||
for (gint i = 0; i < packets_num; ++i, ++seqnum) {
|
for (i = 0; i < packets_num; ++i, ++seqnum) {
|
||||||
GstBuffer *outbuf;
|
GstBuffer *outbuf;
|
||||||
GstBuffer *inbuf = create_rtp_buffer (master_ssrc, master_pt, seqnum);
|
GstBuffer *inbuf = create_rtp_buffer (master_ssrc, master_pt, seqnum);
|
||||||
gboolean drop_this_packet = ((i + 1) % drop_nth_packet) == 0;
|
gboolean drop_this_packet = ((i + 1) % drop_nth_packet) == 0;
|
||||||
|
@ -326,8 +328,9 @@ create_rtxsenders (RtxSender * senders, guint senders_num)
|
||||||
{
|
{
|
||||||
GstStructure *recv_pt_map =
|
GstStructure *recv_pt_map =
|
||||||
gst_structure_new_empty ("application/x-rtp-pt-map");
|
gst_structure_new_empty ("application/x-rtp-pt-map");
|
||||||
|
gint i;
|
||||||
|
|
||||||
for (gint i = 0; i < senders_num; ++i) {
|
for (i = 0; i < senders_num; ++i) {
|
||||||
gchar *master_pt_str;
|
gchar *master_pt_str;
|
||||||
gchar *master_caps_str;
|
gchar *master_caps_str;
|
||||||
GstStructure *send_pt_map;
|
GstStructure *send_pt_map;
|
||||||
|
@ -366,7 +369,9 @@ static guint
|
||||||
check_rtxsenders_stats_and_teardown (RtxSender * senders, guint senders_num)
|
check_rtxsenders_stats_and_teardown (RtxSender * senders, guint senders_num)
|
||||||
{
|
{
|
||||||
guint total_pakets_num = 0;
|
guint total_pakets_num = 0;
|
||||||
for (gint i = 0; i < senders_num; ++i) {
|
gint i;
|
||||||
|
|
||||||
|
for (i = 0; i < senders_num; ++i) {
|
||||||
guint rtx_requests;
|
guint rtx_requests;
|
||||||
guint rtx_packets;
|
guint rtx_packets;
|
||||||
g_object_get (G_OBJECT (senders[i].h->element),
|
g_object_get (G_OBJECT (senders[i].h->element),
|
||||||
|
@ -390,6 +395,7 @@ GST_START_TEST (test_multi_rtxsend_rtxreceive_with_packet_loss)
|
||||||
RtxSender senders[5];
|
RtxSender senders[5];
|
||||||
GstStructure *pt_map;
|
GstStructure *pt_map;
|
||||||
GstHarness *hrecv = gst_harness_new ("rtprtxreceive");
|
GstHarness *hrecv = gst_harness_new ("rtprtxreceive");
|
||||||
|
gint drop_nth_packet, i, j;
|
||||||
|
|
||||||
pt_map = create_rtxsenders (senders, 5);
|
pt_map = create_rtxsenders (senders, 5);
|
||||||
g_object_set (hrecv->element, "payload-type-map", pt_map, NULL);
|
g_object_set (hrecv->element, "payload-type-map", pt_map, NULL);
|
||||||
|
@ -410,8 +416,8 @@ GST_START_TEST (test_multi_rtxsend_rtxreceive_with_packet_loss)
|
||||||
We need to make sure that all other senders will ignore the RTX event they
|
We need to make sure that all other senders will ignore the RTX event they
|
||||||
can't act upon.
|
can't act upon.
|
||||||
*/
|
*/
|
||||||
for (gint drop_nth_packet = 2; drop_nth_packet < 5; ++drop_nth_packet) {
|
for (drop_nth_packet = 2; drop_nth_packet < 5; ++drop_nth_packet) {
|
||||||
for (gint i = 0; i < total_pakets_num; ++i) {
|
for (i = 0; i < total_pakets_num; ++i) {
|
||||||
RtxSender *sender = &senders[i % senders_num];
|
RtxSender *sender = &senders[i % senders_num];
|
||||||
gboolean drop_this_packet = ((i + 1) % drop_nth_packet) == 0;
|
gboolean drop_this_packet = ((i + 1) % drop_nth_packet) == 0;
|
||||||
GstBuffer *outbuf, *inbuf;
|
GstBuffer *outbuf, *inbuf;
|
||||||
|
@ -432,7 +438,7 @@ GST_START_TEST (test_multi_rtxsend_rtxreceive_with_packet_loss)
|
||||||
rtxevent = gst_harness_pull_upstream_event (hrecv);
|
rtxevent = gst_harness_pull_upstream_event (hrecv);
|
||||||
|
|
||||||
/* ... to all the senders */
|
/* ... to all the senders */
|
||||||
for (gint j = 0; j < senders_num; ++j)
|
for (j = 0; j < senders_num; ++j)
|
||||||
gst_harness_push_upstream_event (senders[j].h,
|
gst_harness_push_upstream_event (senders[j].h,
|
||||||
gst_event_ref (rtxevent));
|
gst_event_ref (rtxevent));
|
||||||
gst_event_unref (rtxevent);
|
gst_event_unref (rtxevent);
|
||||||
|
@ -457,7 +463,7 @@ GST_START_TEST (test_multi_rtxsend_rtxreceive_with_packet_loss)
|
||||||
We should not have any packets in the harness queue by this point. It
|
We should not have any packets in the harness queue by this point. It
|
||||||
means our senders didn't produce the packets for the unknown RTX event.
|
means our senders didn't produce the packets for the unknown RTX event.
|
||||||
*/
|
*/
|
||||||
for (gint j = 0; j < senders_num; ++j)
|
for (j = 0; j < senders_num; ++j)
|
||||||
fail_unless_equals_int (gst_harness_buffers_in_queue (senders[j].h), 0);
|
fail_unless_equals_int (gst_harness_buffers_in_queue (senders[j].h), 0);
|
||||||
|
|
||||||
++sender->seqnum;
|
++sender->seqnum;
|
||||||
|
@ -506,6 +512,7 @@ test_rtxsender_packet_retention (gboolean test_with_time)
|
||||||
"96", G_TYPE_UINT, rtx_pt, NULL);
|
"96", G_TYPE_UINT, rtx_pt, NULL);
|
||||||
GstStructure *ssrc_map = gst_structure_new ("application/x-rtp-ssrc-map",
|
GstStructure *ssrc_map = gst_structure_new ("application/x-rtp-ssrc-map",
|
||||||
"1234567", G_TYPE_UINT, rtx_ssrc, NULL);
|
"1234567", G_TYPE_UINT, rtx_ssrc, NULL);
|
||||||
|
gint i, j;
|
||||||
|
|
||||||
h = gst_harness_new ("rtprtxsend");
|
h = gst_harness_new ("rtprtxsend");
|
||||||
|
|
||||||
|
@ -525,9 +532,9 @@ test_rtxsender_packet_retention (gboolean test_with_time)
|
||||||
"encoding-name = (string)RAW");
|
"encoding-name = (string)RAW");
|
||||||
|
|
||||||
/* Now push all buffers and request retransmission every time for all of them */
|
/* Now push all buffers and request retransmission every time for all of them */
|
||||||
for (gint i = 0; i < num_buffers; ++i, timestamp += timestamp_delta) {
|
for (i = 0; i < num_buffers; ++i, timestamp += timestamp_delta) {
|
||||||
/* Request to retransmit all the previous ones */
|
/* Request to retransmit all the previous ones */
|
||||||
for (gint j = 0; j < i; ++j) {
|
for (j = 0; j < i; ++j) {
|
||||||
guint rtx_seqnum = 0x100 + j;
|
guint rtx_seqnum = 0x100 + j;
|
||||||
gst_harness_push_upstream_event (h,
|
gst_harness_push_upstream_event (h,
|
||||||
create_rtx_event (master_ssrc, master_pt, rtx_seqnum));
|
create_rtx_event (master_ssrc, master_pt, rtx_seqnum));
|
||||||
|
|
|
@ -25,6 +25,8 @@ GST_START_TEST (test_encode_lag_in_frames)
|
||||||
{
|
{
|
||||||
GstHarness *h = gst_harness_new_parse ("vp9enc lag-in-frames=5 cpu-used=8 "
|
GstHarness *h = gst_harness_new_parse ("vp9enc lag-in-frames=5 cpu-used=8 "
|
||||||
"deadline=1");
|
"deadline=1");
|
||||||
|
gint i;
|
||||||
|
|
||||||
gst_harness_add_src_parse (h, "videotestsrc is-live=true pattern=black ! "
|
gst_harness_add_src_parse (h, "videotestsrc is-live=true pattern=black ! "
|
||||||
"capsfilter caps=\"video/x-raw,width=320,height=240,framerate=25/1\"",
|
"capsfilter caps=\"video/x-raw,width=320,height=240,framerate=25/1\"",
|
||||||
TRUE);
|
TRUE);
|
||||||
|
@ -40,7 +42,7 @@ GST_START_TEST (test_encode_lag_in_frames)
|
||||||
fail_unless (gst_harness_push_event (h, gst_event_new_eos ()));
|
fail_unless (gst_harness_push_event (h, gst_event_new_eos ()));
|
||||||
fail_unless_equals_int (gst_harness_buffers_received (h), 20);
|
fail_unless_equals_int (gst_harness_buffers_received (h), 20);
|
||||||
|
|
||||||
for (gint i = 0; i < 20; i++) {
|
for (i = 0; i < 20; i++) {
|
||||||
GstBuffer *buffer = gst_harness_pull (h);
|
GstBuffer *buffer = gst_harness_pull (h);
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
|
|
Loading…
Reference in a new issue