[farsight2/master] Make codec config regression test more strict
Olivier Crête
olivier.crete at collabora.co.uk
Mon Mar 16 09:21:48 PDT 2009
---
tests/check/rtp/codecs.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/tests/check/rtp/codecs.c b/tests/check/rtp/codecs.c
index 9ace885..2706935 100644
--- a/tests/check/rtp/codecs.c
+++ b/tests/check/rtp/codecs.c
@@ -507,7 +507,7 @@ GST_START_TEST (test_rtpcodecs_reserved_pt)
}
GST_END_TEST;
-static void
+static FsCodec *
check_vorbis_and_configuration (const gchar *text, GList *codecs,
const gchar *config)
{
@@ -538,6 +538,8 @@ check_vorbis_and_configuration (const gchar *text, GList *codecs,
}
fail_if (item == NULL, "%s: The configuration parameter is not there", text);
+
+ return codec;
}
@@ -564,6 +566,8 @@ _bus_message_element (GstBus *bus, GstMessage *message,
"enfiuewfkdnwqiucnwiufenciuawndiunfucnweciuqfiucina";
const gchar config2[] = "sadsajdsakdjlksajdsajldsaldjsalkjdl";
GError *error = NULL;
+ gchar *discovered_config = NULL;
+ FsCodecParameter *param;
if (!gst_structure_has_name (s, "farsight-codecs-changed"))
return;
@@ -574,7 +578,11 @@ _bus_message_element (GstBus *bus, GstMessage *message,
return;
g_object_get (cd->dat->session, "codecs", &codecs, NULL);
- check_vorbis_and_configuration ("codecs before negotiation", codecs, NULL);
+ codec = check_vorbis_and_configuration ("codecs before negotiation", codecs,
+ NULL);
+
+ param = fs_codec_get_optional_parameter (codec, "configuration", NULL);
+ discovered_config = g_strdup (param->value);
g_object_get (cd->dat->session, "codecs-without-config", &codecs2, NULL);
fail_if (codecs2 == NULL, "Could not get codecs without config");
@@ -609,7 +617,7 @@ _bus_message_element (GstBus *bus, GstMessage *message,
{
g_object_get (cd->stream, "negotiated-codecs", &codecs, NULL);
check_vorbis_and_configuration ("stream codecs before negotiation",
- codecs ,cd->config);
+ codecs, cd->config);
fs_codec_list_destroy (codecs);
}
@@ -636,7 +644,7 @@ _bus_message_element (GstBus *bus, GstMessage *message,
g_object_get (cd->dat->session, "codecs", &codecs, NULL);
check_vorbis_and_configuration ("session codecs after negotiation",
- codecs, NULL);
+ codecs, discovered_config);
fs_codec_list_destroy (codecs);
g_object_get (cd->stream, "negotiated-codecs", &codecs, NULL);
@@ -678,7 +686,7 @@ _bus_message_element (GstBus *bus, GstMessage *message,
g_object_get (cd->dat->session, "codecs", &codecs, NULL);
check_vorbis_and_configuration ("session codecs after renegotiation",
- codecs, NULL);
+ codecs, discovered_config);
fs_codec_list_destroy (codecs);
g_object_get (cd->stream, "negotiated-codecs", &codecs, NULL);
@@ -695,6 +703,8 @@ _bus_message_element (GstBus *bus, GstMessage *message,
g_object_unref (p2);
g_object_unref (stream2);
+ g_free (discovered_config);
+
g_main_loop_quit (loop);
}
--
1.5.6.5
More information about the farsight-commits
mailing list