summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2018-10-04 16:29:25 +1000
committerMatthew Waters <matthew@centricular.com>2018-10-04 16:44:55 +1000
commitfaf212cd3a26ced3008476c856fcd15760fc4cf0 (patch)
tree72991e5c0879eef6b7335fb521e9f567b072c6e2
parentea355ca0a3f78284762a5d3a88912dc6b2418894 (diff)
tests/webrtcbin: add a couple more dependant element checks
Without the sctp elements, all the data channel tests will fail
-rw-r--r--tests/check/elements/webrtcbin.c42
1 files changed, 33 insertions, 9 deletions
diff --git a/tests/check/elements/webrtcbin.c b/tests/check/elements/webrtcbin.c
index 2c3b61157..e6316687a 100644
--- a/tests/check/elements/webrtcbin.c
+++ b/tests/check/elements/webrtcbin.c
@@ -1897,18 +1897,23 @@ webrtcbin_suite (void)
{
Suite *s = suite_create ("webrtcbin");
TCase *tc = tcase_create ("general");
- GstPluginFeature *nicesrc, *nicesink;
+ GstPluginFeature *nicesrc, *nicesink, *dtlssrtpdec, *dtlssrtpenc;
+ GstPluginFeature *sctpenc, *sctpdec;
GstRegistry *registry;
registry = gst_registry_get ();
nicesrc = gst_registry_lookup_feature (registry, "nicesrc");
nicesink = gst_registry_lookup_feature (registry, "nicesink");
+ dtlssrtpenc = gst_registry_lookup_feature (registry, "dtlssrtpenc");
+ dtlssrtpdec = gst_registry_lookup_feature (registry, "dtlssrtpdec");
+ sctpenc = gst_registry_lookup_feature (registry, "sctpenc");
+ sctpdec = gst_registry_lookup_feature (registry, "sctpdec");
tcase_add_test (tc, test_sdp_no_media);
tcase_add_test (tc, test_no_nice_elements_request_pad);
tcase_add_test (tc, test_no_nice_elements_state_change);
tcase_add_test (tc, test_session_stats);
- if (nicesrc && nicesink) {
+ if (nicesrc && nicesink && dtlssrtpenc && dtlssrtpdec) {
tcase_add_test (tc, test_audio);
tcase_add_test (tc, test_audio_video);
tcase_add_test (tc, test_media_direction);
@@ -1918,19 +1923,38 @@ webrtcbin_suite (void)
tcase_add_test (tc, test_add_recvonly_transceiver);
tcase_add_test (tc, test_recvonly_sendonly);
tcase_add_test (tc, test_payload_types);
- tcase_add_test (tc, test_data_channel_create);
- tcase_add_test (tc, test_data_channel_remote_notify);
- tcase_add_test (tc, test_data_channel_transfer_string);
- tcase_add_test (tc, test_data_channel_transfer_data);
- tcase_add_test (tc, test_data_channel_create_after_negotiate);
- tcase_add_test (tc, test_data_channel_low_threshold);
- tcase_add_test (tc, test_data_channel_max_message_size);
+ if (sctpenc && sctpdec) {
+ tcase_add_test (tc, test_data_channel_create);
+ tcase_add_test (tc, test_data_channel_remote_notify);
+ tcase_add_test (tc, test_data_channel_transfer_string);
+ tcase_add_test (tc, test_data_channel_transfer_data);
+ tcase_add_test (tc, test_data_channel_create_after_negotiate);
+ tcase_add_test (tc, test_data_channel_low_threshold);
+ tcase_add_test (tc, test_data_channel_max_message_size);
+ } else {
+ GST_WARNING ("Some required elements were not found. "
+ "All datachannel are disabled. sctpenc %p, sctpdec %p", sctpenc,
+ sctpdec);
+ }
+ } else {
+ GST_WARNING ("Some required elements were not found. "
+ "All media tests are disabled. nicesrc %p, nicesink %p, "
+ "dtlssrtpenc %p, dtlssrtpdec %p", nicesrc, nicesink, dtlssrtpenc,
+ dtlssrtpdec);
}
if (nicesrc)
gst_object_unref (nicesrc);
if (nicesink)
gst_object_unref (nicesink);
+ if (dtlssrtpdec)
+ gst_object_unref (dtlssrtpdec);
+ if (dtlssrtpenc)
+ gst_object_unref (dtlssrtpenc);
+ if (sctpenc)
+ gst_object_unref (sctpenc);
+ if (sctpdec)
+ gst_object_unref (sctpdec);
suite_add_tcase (s, tc);