summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2012-10-24 13:41:00 +0100
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2012-10-24 13:44:07 +0100
commitd24e774074da4373da665825e93f024630304723 (patch)
treefaf34627fbd0bade628c7ee916b4737bd93b589c /tests
parent21bd9a8486db86c6bf8b10d15f1fd32892e57e5e (diff)
tests: fix up mpg123 test a little
- dist input files - fix sample leak - simplify check for elements - only run mpg123 test if mpg123 is available and selected - fix build in uninstalled setup https://bugzilla.gnome.org/show_bug.cgi?id=686595
Diffstat (limited to 'tests')
-rw-r--r--tests/check/elements/mpg123audiodec.c61
1 files changed, 11 insertions, 50 deletions
diff --git a/tests/check/elements/mpg123audiodec.c b/tests/check/elements/mpg123audiodec.c
index fd7c620e..57567e53 100644
--- a/tests/check/elements/mpg123audiodec.c
+++ b/tests/check/elements/mpg123audiodec.c
@@ -313,6 +313,8 @@ run_decoding_test (GstElement * mpg123audiodec, gchar const *filename)
fail_unless_equals_int (gst_pad_push (mysrcpad, input_buffer), GST_FLOW_OK);
++num_input_buffers;
+
+ gst_sample_unref (sample);
}
num_decoded_buffers = g_list_length (buffers);
@@ -507,43 +509,22 @@ is_test_file_available (gchar const *filename)
return ret;
}
-
static Suite *
mpg123audiodec_suite (void)
{
- gboolean has_necessary_elements = TRUE;
+ GstRegistry *registry;
Suite *s = suite_create ("mpg123audiodec");
TCase *tc_chain = tcase_create ("general");
- /* check if mpegaudioparse, appsink, and filesrc elments are available */
- {
- gchar const **element;
- gchar const *elements[] = { "filesrc", "mpegaudioparse", "appsink", NULL };
-
- for (element = elements; *element != NULL; ++element) {
- GstElement *e;
- GstStateChangeReturn ret;
-
- e = gst_element_factory_make (*element, NULL);
- if (e == NULL) {
- has_necessary_elements = FALSE;
- break;
- }
-
- ret = gst_element_set_state (e, GST_STATE_READY);
- if (ret == GST_STATE_CHANGE_SUCCESS) {
- gst_element_set_state (e, GST_STATE_NULL);
- gst_object_unref (GST_OBJECT (e));
- } else {
- gst_object_unref (GST_OBJECT (e));
- has_necessary_elements = FALSE;
- break;
- }
- }
- }
+ registry = gst_registry_get ();
suite_add_tcase (s, tc_chain);
- if (has_necessary_elements) {
+ if (gst_registry_check_feature_version (registry, "filesrc",
+ GST_VERSION_MAJOR, GST_VERSION_MINOR, 0) &&
+ gst_registry_check_feature_version (registry, "mpegaudioparse",
+ GST_VERSION_MAJOR, GST_VERSION_MINOR, 0) &&
+ gst_registry_check_feature_version (registry, "appsrc",
+ GST_VERSION_MAJOR, GST_VERSION_MINOR, 0)) {
if (is_test_file_available (MP2_STREAM_FILENAME))
tcase_add_test (tc_chain, test_decode_mpeg1layer2);
if (is_test_file_available (MP3_CBR_STREAM_FILENAME))
@@ -558,24 +539,4 @@ mpg123audiodec_suite (void)
}
-int
-main (int argc, char **argv)
-{
- int nf;
- Suite *s;
- SRunner *sr;
-
- gst_check_init (&argc, &argv);
-
- s = mpg123audiodec_suite ();
- if (s == NULL)
- return 0;
-
- sr = srunner_create (s);
-
- srunner_run_all (sr, CK_NORMAL);
- nf = srunner_ntests_failed (sr);
- srunner_free (sr);
-
- return nf;
-}
+GST_CHECK_MAIN (mpg123audiodec)