mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 06:58:56 +00:00
rtpsession test: Verify that on-ssrc-collision message is emitted
This commit is contained in:
parent
9d9d543d5c
commit
4e18567863
1 changed files with 17 additions and 0 deletions
|
@ -946,12 +946,26 @@ add_rtcp_sdes_packet (GstBuffer * gstbuf, guint32 ssrc, const char *cname)
|
|||
gst_rtcp_buffer_unmap (&buffer);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
on_ssrc_collision_cb (GstElement * rtpsession, guint ssrc, gpointer user_data)
|
||||
{
|
||||
gboolean *had_collision = user_data;
|
||||
|
||||
*had_collision = TRUE;
|
||||
}
|
||||
|
||||
GST_START_TEST (test_ssrc_collision_when_sending)
|
||||
{
|
||||
SessionHarness *h = session_harness_new ();
|
||||
GstBuffer *buf;
|
||||
GstEvent *ev;
|
||||
GSocketAddress *saddr;
|
||||
gboolean had_collision = FALSE;
|
||||
|
||||
g_signal_connect (h->internal_session, "on-ssrc-collision",
|
||||
G_CALLBACK (on_ssrc_collision_cb), &had_collision);
|
||||
|
||||
|
||||
/* Push SDES with identical SSRC as what we will use for sending RTP,
|
||||
establishing this as a non-internal SSRC */
|
||||
|
@ -962,11 +976,14 @@ GST_START_TEST (test_ssrc_collision_when_sending)
|
|||
g_object_unref (saddr);
|
||||
session_harness_recv_rtcp (h, buf);
|
||||
|
||||
fail_unless (had_collision == FALSE);
|
||||
|
||||
/* Push RTP buffer making our internal SSRC=0x12345678 */
|
||||
buf = generate_test_buffer (0, 0x12345678);
|
||||
fail_unless_equals_int (GST_FLOW_OK, session_harness_send_rtp (h, buf));
|
||||
|
||||
fail_unless (had_collision == TRUE);
|
||||
|
||||
/* Verify the packet we just sent is not being boomeranged back to us
|
||||
as a received packet! */
|
||||
fail_unless_equals_int (0, gst_harness_buffers_in_queue (h->recv_rtp_h));
|
||||
|
|
Loading…
Reference in a new issue