From 0d57709d388f548910dcab8b193ef85bb0de7341 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Mon, 2 Nov 2015 00:41:28 +0100 Subject: [PATCH] tests: udpsink: add check that sets QoS on IPv4/6 sockets https://bugzilla.gnome.org/show_bug.cgi?id=757449 --- tests/check/Makefile.am | 3 +++ tests/check/elements/udpsink.c | 38 +++++++++++++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index c17c907..3c8ca2f 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -581,6 +581,9 @@ elements_rtpmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(G elements_souphttpsrc_CFLAGS = $(SOUP_CFLAGS) $(AM_CFLAGS) elements_souphttpsrc_LDADD = $(SOUP_LIBS) $(LDADD) +elements_udpsink_CFLAGS = $(AM_CFLAGS) $(GIO_CFLAGS) +elements_udpsink_LDADD = $(LDADD) $(GIO_LIBS) + elements_udpsrc_CFLAGS = $(AM_CFLAGS) $(GIO_CFLAGS) elements_udpsrc_LDADD = $(LDADD) $(GIO_LIBS) diff --git a/tests/check/elements/udpsink.c b/tests/check/elements/udpsink.c index 0e938ee..ca8b722 100644 --- a/tests/check/elements/udpsink.c +++ b/tests/check/elements/udpsink.c @@ -1,4 +1,4 @@ -/* GStreamer RTP payloader unit tests +/* GStreamer udpsink unit tests * Copyright (C) 2009 Axis Communications * @author Ognyan Tonchev * @@ -19,6 +19,7 @@ */ #include #include +#include #include static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", @@ -204,6 +205,40 @@ GST_START_TEST (test_udpsink_client_add_remove) GST_END_TEST; +GST_START_TEST (test_udpsink_dscp) +{ + GstElement *udpsink; + GError *error = NULL; + GSocket *sock4, *sock6; + + sock4 = + g_socket_new (G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_DATAGRAM, + G_SOCKET_PROTOCOL_UDP, &error); + fail_unless (sock4 != NULL && error == NULL); + sock6 = + g_socket_new (G_SOCKET_FAMILY_IPV6, G_SOCKET_TYPE_DATAGRAM, + G_SOCKET_PROTOCOL_UDP, &error); + fail_unless (sock6 != NULL && error == NULL); + + udpsink = gst_check_setup_element ("udpsink"); + g_signal_emit_by_name (udpsink, "add", "127.0.0.1", 5554, NULL); + g_object_set (udpsink, "socket", sock4, NULL); + g_object_set (udpsink, "socket-v6", sock6, NULL); + + ASSERT_SET_STATE (udpsink, GST_STATE_READY, GST_STATE_CHANGE_SUCCESS); + + g_object_set (udpsink, "qos-dscp", 0, NULL); + g_object_set (udpsink, "qos-dscp", 63, NULL); + + ASSERT_SET_STATE (udpsink, GST_STATE_NULL, GST_STATE_CHANGE_SUCCESS); + + gst_object_unref (udpsink); + g_object_unref (sock4); + g_object_unref (sock6); +} + +GST_END_TEST; + static Suite * udpsink_suite (void) { @@ -215,6 +250,7 @@ udpsink_suite (void) tcase_add_test (tc_chain, test_udpsink); tcase_add_test (tc_chain, test_udpsink_bufferlist); tcase_add_test (tc_chain, test_udpsink_client_add_remove); + tcase_add_test (tc_chain, test_udpsink_dscp); return s; } -- 2.7.4