mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-30 11:08:34 +00:00
tests: fix some tests
This commit is contained in:
parent
d9ef75b799
commit
ea9ef0ee63
4 changed files with 25 additions and 16 deletions
|
@ -439,6 +439,9 @@ libs_video_LDADD = \
|
||||||
pipelines_gio_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
|
pipelines_gio_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
|
||||||
pipelines_gio_LDADD = $(GIO_LIBS) $(LDADD)
|
pipelines_gio_LDADD = $(GIO_LIBS) $(LDADD)
|
||||||
|
|
||||||
|
pipelines_streamheader_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
|
||||||
|
pipelines_streamheader_LDADD = $(GIO_LIBS) $(LDADD)
|
||||||
|
|
||||||
pipelines_vorbisenc_CFLAGS = \
|
pipelines_vorbisenc_CFLAGS = \
|
||||||
$(GST_PLUGINS_BASE_CFLAGS) \
|
$(GST_PLUGINS_BASE_CFLAGS) \
|
||||||
$(AM_CFLAGS)
|
$(AM_CFLAGS)
|
||||||
|
|
|
@ -39,6 +39,7 @@ setup_appsink (void)
|
||||||
GST_DEBUG ("setup_appsink");
|
GST_DEBUG ("setup_appsink");
|
||||||
appsink = gst_check_setup_element ("appsink");
|
appsink = gst_check_setup_element ("appsink");
|
||||||
mysrcpad = gst_check_setup_src_pad (appsink, &srctemplate);
|
mysrcpad = gst_check_setup_src_pad (appsink, &srctemplate);
|
||||||
|
gst_pad_set_active (mysrcpad, TRUE);
|
||||||
|
|
||||||
return appsink;
|
return appsink;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ GST_START_TEST (test_rtp_buffer)
|
||||||
/* check GstRTPHeader structure alignment and packing */
|
/* check GstRTPHeader structure alignment and packing */
|
||||||
buf = gst_rtp_buffer_new_allocate (16, 4, 0);
|
buf = gst_rtp_buffer_new_allocate (16, 4, 0);
|
||||||
fail_unless (buf != NULL);
|
fail_unless (buf != NULL);
|
||||||
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READWRITE);
|
||||||
fail_unless_equals_int (size, RTP_HEADER_LEN + 16 + 4);
|
fail_unless_equals_int (size, RTP_HEADER_LEN + 16 + 4);
|
||||||
|
|
||||||
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
||||||
|
@ -114,7 +114,7 @@ GST_START_TEST (test_rtp_buffer)
|
||||||
/* and again, this time with CSRCs */
|
/* and again, this time with CSRCs */
|
||||||
buf = gst_rtp_buffer_new_allocate (16, 4, 3);
|
buf = gst_rtp_buffer_new_allocate (16, 4, 3);
|
||||||
fail_unless (buf != NULL);
|
fail_unless (buf != NULL);
|
||||||
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READWRITE);
|
||||||
fail_unless_equals_int (size, RTP_HEADER_LEN + 16 + 4 + 4 * 3);
|
fail_unless_equals_int (size, RTP_HEADER_LEN + 16 + 4 + 4 * 3);
|
||||||
|
|
||||||
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
||||||
|
@ -229,7 +229,7 @@ GST_START_TEST (test_rtp_buffer_set_extension_data)
|
||||||
|
|
||||||
/* check GstRTPHeader structure alignment and packing */
|
/* check GstRTPHeader structure alignment and packing */
|
||||||
buf = gst_rtp_buffer_new_allocate (4, 0, 0);
|
buf = gst_rtp_buffer_new_allocate (4, 0, 0);
|
||||||
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READWRITE);
|
||||||
|
|
||||||
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ GST_START_TEST (test_rtp_buffer_set_extension_data)
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
|
||||||
buf = gst_rtp_buffer_new_allocate (20, 0, 0);
|
buf = gst_rtp_buffer_new_allocate (20, 0, 0);
|
||||||
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READWRITE);
|
||||||
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
||||||
|
|
||||||
fail_unless (gst_rtp_buffer_get_extension (&rtp) == FALSE);
|
fail_unless (gst_rtp_buffer_get_extension (&rtp) == FALSE);
|
||||||
|
@ -272,7 +272,7 @@ GST_START_TEST (test_rtp_buffer_set_extension_data)
|
||||||
|
|
||||||
/* Test header extensions with a one byte header */
|
/* Test header extensions with a one byte header */
|
||||||
buf = gst_rtp_buffer_new_allocate (20, 0, 0);
|
buf = gst_rtp_buffer_new_allocate (20, 0, 0);
|
||||||
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READWRITE);
|
||||||
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
||||||
|
|
||||||
fail_unless (gst_rtp_buffer_get_extension (&rtp) == FALSE);
|
fail_unless (gst_rtp_buffer_get_extension (&rtp) == FALSE);
|
||||||
|
@ -336,7 +336,7 @@ GST_START_TEST (test_rtp_buffer_set_extension_data)
|
||||||
|
|
||||||
/* Test header extensions with a two bytes header */
|
/* Test header extensions with a two bytes header */
|
||||||
buf = gst_rtp_buffer_new_allocate (20, 0, 0);
|
buf = gst_rtp_buffer_new_allocate (20, 0, 0);
|
||||||
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READ);
|
data = gst_buffer_map (buf, &bsize, NULL, GST_MAP_READWRITE);
|
||||||
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
gst_rtp_buffer_map (buf, GST_MAP_READWRITE, &rtp);
|
||||||
|
|
||||||
fail_unless (gst_rtp_buffer_get_extension (&rtp) == FALSE);
|
fail_unless (gst_rtp_buffer_get_extension (&rtp) == FALSE);
|
||||||
|
|
|
@ -26,13 +26,14 @@
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include <gio/gio.h>
|
||||||
#include <gst/check/gstcheck.h>
|
#include <gst/check/gstcheck.h>
|
||||||
#include <gst/check/gstbufferstraw.h>
|
#include <gst/check/gstbufferstraw.h>
|
||||||
|
|
||||||
#ifndef GST_DISABLE_PARSE
|
#ifndef GST_DISABLE_PARSE
|
||||||
|
|
||||||
/* this tests a gdp-serialized tag from audiotestsrc being sent only once
|
/* this tests a gdp-serialized tag from audiotestsrc being sent only once
|
||||||
* to clients of multifdsink */
|
* to clients of multisocketsink */
|
||||||
|
|
||||||
static int n_tags = 0;
|
static int n_tags = 0;
|
||||||
|
|
||||||
|
@ -61,18 +62,19 @@ tag_event_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
|
||||||
return GST_PAD_PROBE_OK;
|
return GST_PAD_PROBE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_START_TEST (test_multifdsink_gdp_tag)
|
GST_START_TEST (test_multisocketsink_gdp_tag)
|
||||||
{
|
{
|
||||||
GstElement *p1, *p2;
|
GstElement *p1, *p2;
|
||||||
GstElement *src, *sink, *depay;
|
GstElement *src, *sink, *depay;
|
||||||
GstPad *pad;
|
GstPad *pad;
|
||||||
GMainLoop *loop;
|
GMainLoop *loop;
|
||||||
int pfd[2];
|
int pfd[2];
|
||||||
|
GSocket *s[2];
|
||||||
|
|
||||||
loop = g_main_loop_new (NULL, FALSE);
|
loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
|
||||||
p1 = gst_parse_launch ("audiotestsrc num-buffers=10 ! gdppay"
|
p1 = gst_parse_launch ("audiotestsrc num-buffers=10 ! gdppay"
|
||||||
" ! multifdsink name=p1sink", NULL);
|
" ! multisocketsink name=p1sink", NULL);
|
||||||
fail_if (p1 == NULL);
|
fail_if (p1 == NULL);
|
||||||
p2 = gst_parse_launch ("fdsrc name=p2src ! gdpdepay name=depay"
|
p2 = gst_parse_launch ("fdsrc name=p2src ! gdpdepay name=depay"
|
||||||
" ! fakesink name=p2sink signal-handoffs=True", NULL);
|
" ! fakesink name=p2sink signal-handoffs=True", NULL);
|
||||||
|
@ -80,11 +82,12 @@ GST_START_TEST (test_multifdsink_gdp_tag)
|
||||||
|
|
||||||
fail_if (pipe (pfd) == -1);
|
fail_if (pipe (pfd) == -1);
|
||||||
|
|
||||||
|
s[0] = g_socket_new_from_fd (pfd[0], NULL);
|
||||||
|
|
||||||
gst_element_set_state (p1, GST_STATE_READY);
|
gst_element_set_state (p1, GST_STATE_READY);
|
||||||
|
|
||||||
sink = gst_bin_get_by_name (GST_BIN (p1), "p1sink");
|
sink = gst_bin_get_by_name (GST_BIN (p1), "p1sink");
|
||||||
g_signal_emit_by_name (sink, "add", pfd[1], NULL);
|
g_signal_emit_by_name (sink, "add", s[1], NULL);
|
||||||
gst_object_unref (sink);
|
gst_object_unref (sink);
|
||||||
|
|
||||||
src = gst_bin_get_by_name (GST_BIN (p2), "p2src");
|
src = gst_bin_get_by_name (GST_BIN (p2), "p2src");
|
||||||
|
@ -118,7 +121,7 @@ GST_END_TEST;
|
||||||
|
|
||||||
#ifdef HAVE_VORBIS
|
#ifdef HAVE_VORBIS
|
||||||
/* this tests gdp-serialized Vorbis header pages being sent only once
|
/* this tests gdp-serialized Vorbis header pages being sent only once
|
||||||
* to clients of multifdsink; the gdp depayloader should deserialize
|
* to clients of multisocketsink; the gdp depayloader should deserialize
|
||||||
* exactly three in_caps buffers for the three header packets */
|
* exactly three in_caps buffers for the three header packets */
|
||||||
|
|
||||||
static int n_in_caps = 0;
|
static int n_in_caps = 0;
|
||||||
|
@ -177,18 +180,19 @@ buffer_probe_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_START_TEST (test_multifdsink_gdp_vorbisenc)
|
GST_START_TEST (test_multisocketsink_gdp_vorbisenc)
|
||||||
{
|
{
|
||||||
GstElement *p1, *p2;
|
GstElement *p1, *p2;
|
||||||
GstElement *src, *sink, *depay;
|
GstElement *src, *sink, *depay;
|
||||||
GstPad *pad;
|
GstPad *pad;
|
||||||
GMainLoop *loop;
|
GMainLoop *loop;
|
||||||
int pfd[2];
|
int pfd[2];
|
||||||
|
GSocket *s[2];
|
||||||
|
|
||||||
loop = g_main_loop_new (NULL, FALSE);
|
loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
|
||||||
p1 = gst_parse_launch ("audiotestsrc num-buffers=10 ! audioconvert "
|
p1 = gst_parse_launch ("audiotestsrc num-buffers=10 ! audioconvert "
|
||||||
" ! vorbisenc ! gdppay ! multifdsink name=p1sink", NULL);
|
" ! vorbisenc ! gdppay ! multisocketsink name=p1sink", NULL);
|
||||||
fail_if (p1 == NULL);
|
fail_if (p1 == NULL);
|
||||||
p2 = gst_parse_launch ("fdsrc name=p2src ! gdpdepay name=depay"
|
p2 = gst_parse_launch ("fdsrc name=p2src ! gdpdepay name=depay"
|
||||||
" ! fakesink name=p2sink signal-handoffs=True", NULL);
|
" ! fakesink name=p2sink signal-handoffs=True", NULL);
|
||||||
|
@ -196,11 +200,12 @@ GST_START_TEST (test_multifdsink_gdp_vorbisenc)
|
||||||
|
|
||||||
fail_if (pipe (pfd) == -1);
|
fail_if (pipe (pfd) == -1);
|
||||||
|
|
||||||
|
s[0] = g_socket_new_from_fd (pfd[0], NULL);
|
||||||
|
|
||||||
gst_element_set_state (p1, GST_STATE_READY);
|
gst_element_set_state (p1, GST_STATE_READY);
|
||||||
|
|
||||||
sink = gst_bin_get_by_name (GST_BIN (p1), "p1sink");
|
sink = gst_bin_get_by_name (GST_BIN (p1), "p1sink");
|
||||||
g_signal_emit_by_name (sink, "add", pfd[1], NULL);
|
g_signal_emit_by_name (sink, "add", s[1], NULL);
|
||||||
gst_object_unref (sink);
|
gst_object_unref (sink);
|
||||||
|
|
||||||
src = gst_bin_get_by_name (GST_BIN (p2), "p2src");
|
src = gst_bin_get_by_name (GST_BIN (p2), "p2src");
|
||||||
|
@ -245,9 +250,9 @@ streamheader_suite (void)
|
||||||
|
|
||||||
suite_add_tcase (s, tc_chain);
|
suite_add_tcase (s, tc_chain);
|
||||||
#ifndef GST_DISABLE_PARSE
|
#ifndef GST_DISABLE_PARSE
|
||||||
tcase_add_test (tc_chain, test_multifdsink_gdp_tag);
|
tcase_add_test (tc_chain, test_multisocketsink_gdp_tag);
|
||||||
#ifdef HAVE_VORBIS
|
#ifdef HAVE_VORBIS
|
||||||
tcase_add_test (tc_chain, test_multifdsink_gdp_vorbisenc);
|
tcase_add_test (tc_chain, test_multisocketsink_gdp_vorbisenc);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue