Commit 4348df8e authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

discoverer: Only allow serializing OK discoverer infos to GVariants

They will be incomplete otherwise and we can't generate the full serialized
information, and instead will crash somewhere on the way.
parent 70f37507
......@@ -2200,11 +2200,14 @@ gst_discoverer_info_to_variant (GstDiscovererInfo * info,
/* FIXME: implement TOC support */
GVariant *stream_variant;
GVariant *variant;
GstDiscovererStreamInfo *sinfo = gst_discoverer_info_get_stream_info (info);
GstDiscovererStreamInfo *sinfo;
GVariant *wrapper;
g_return_val_if_fail (GST_IS_DISCOVERER_INFO (info), NULL);
g_return_val_if_fail (gst_discoverer_info_get_result (info) ==
sinfo = gst_discoverer_info_get_stream_info (info);
stream_variant = gst_discoverer_info_to_variant_recurse (sinfo, flags);
variant =
g_variant_new ("(vv)", _serialize_info (info, flags), stream_variant);
......@@ -66,6 +66,8 @@ GST_START_TEST (test_disco_serializing)
info = gst_discoverer_discover_uri (dc, uri, &err);
fail_unless (info);
fail_unless_equals_int (gst_discoverer_info_get_result (info),
serialized =
gst_discoverer_info_to_variant (info, GST_DISCOVERER_SERIALIZE_ALL);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment