mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
tests: qtmux: Refactor bitrate check test
Refactor bitrate check test to accomodate multiple tests for bitrate
This commit is contained in:
parent
535f92a0a4
commit
a4154e9db2
1 changed files with 33 additions and 3 deletions
|
@ -59,6 +59,19 @@ static GstPad *mysrcpad, *mysinkpad;
|
||||||
"height = (int) 288, " \
|
"height = (int) 288, " \
|
||||||
"framerate = (fraction) 25/1"
|
"framerate = (fraction) 25/1"
|
||||||
|
|
||||||
|
#define VIDEO_CAPS_H264_STRING "video/x-h264, " \
|
||||||
|
"width=(int)320, " \
|
||||||
|
"height=(int)240, " \
|
||||||
|
"framerate=(fraction)30/1, " \
|
||||||
|
"pixel-aspect-ratio=(fraction)1/1, " \
|
||||||
|
"codec_data=(buffer)01640014ffe1001867640014a" \
|
||||||
|
"cd94141fb0110000003001773594000f14299600" \
|
||||||
|
"1000568ebecb22c, " \
|
||||||
|
"stream-format=(string)avc, " \
|
||||||
|
"alignment=(string)au, " \
|
||||||
|
"level=(string)2, " \
|
||||||
|
"profile=(string)high"
|
||||||
|
|
||||||
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
|
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
GST_PAD_SINK,
|
GST_PAD_SINK,
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
|
@ -68,6 +81,12 @@ static GstStaticPadTemplate srcvideotemplate = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
GST_STATIC_CAPS (VIDEO_CAPS_STRING));
|
GST_STATIC_CAPS (VIDEO_CAPS_STRING));
|
||||||
|
|
||||||
|
static GstStaticPadTemplate srcvideoh264template =
|
||||||
|
GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
|
GST_PAD_SRC,
|
||||||
|
GST_PAD_ALWAYS,
|
||||||
|
GST_STATIC_CAPS (VIDEO_CAPS_H264_STRING));
|
||||||
|
|
||||||
static GstStaticPadTemplate srcaudiotemplate = GST_STATIC_PAD_TEMPLATE ("src",
|
static GstStaticPadTemplate srcaudiotemplate = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_PAD_SRC,
|
GST_PAD_SRC,
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
|
@ -748,7 +767,9 @@ extract_tags (const gchar * location, GstTagList ** taglist)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_START_TEST (test_average_bitrate)
|
static void
|
||||||
|
test_average_bitrate_custom (const gchar * elementname,
|
||||||
|
GstStaticPadTemplate * tmpl, const gchar * sinkpadname)
|
||||||
{
|
{
|
||||||
gchar *location;
|
gchar *location;
|
||||||
GstElement *qtmux;
|
GstElement *qtmux;
|
||||||
|
@ -764,11 +785,11 @@ GST_START_TEST (test_average_bitrate)
|
||||||
location = g_strdup_printf ("%s/%s-%d", g_get_tmp_dir (), "qtmuxtest",
|
location = g_strdup_printf ("%s/%s-%d", g_get_tmp_dir (), "qtmuxtest",
|
||||||
g_random_int ());
|
g_random_int ());
|
||||||
GST_INFO ("Using location %s for bitrate test", location);
|
GST_INFO ("Using location %s for bitrate test", location);
|
||||||
qtmux = gst_check_setup_element ("mp4mux");
|
qtmux = gst_check_setup_element (elementname);
|
||||||
filesink = gst_element_factory_make ("filesink", NULL);
|
filesink = gst_element_factory_make ("filesink", NULL);
|
||||||
g_object_set (filesink, "location", location, NULL);
|
g_object_set (filesink, "location", location, NULL);
|
||||||
gst_element_link (qtmux, filesink);
|
gst_element_link (qtmux, filesink);
|
||||||
mysrcpad = setup_src_pad (qtmux, &srcaudioaactemplate, NULL, "audio_%d");
|
mysrcpad = setup_src_pad (qtmux, tmpl, NULL, sinkpadname);
|
||||||
fail_unless (mysrcpad != NULL);
|
fail_unless (mysrcpad != NULL);
|
||||||
gst_pad_set_active (mysrcpad, TRUE);
|
gst_pad_set_active (mysrcpad, TRUE);
|
||||||
|
|
||||||
|
@ -821,6 +842,15 @@ GST_START_TEST (test_average_bitrate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GST_START_TEST (test_average_bitrate)
|
||||||
|
{
|
||||||
|
test_average_bitrate_custom ("mp4mux", &srcaudioaactemplate, "audio_%d");
|
||||||
|
test_average_bitrate_custom ("mp4mux", &srcvideoh264template, "video_%d");
|
||||||
|
|
||||||
|
test_average_bitrate_custom ("qtmux", &srcaudioaactemplate, "audio_%d");
|
||||||
|
test_average_bitrate_custom ("qtmux", &srcvideoh264template, "video_%d");
|
||||||
|
}
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue