diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c index af2046a6aa..45de5f5994 100644 --- a/gst-libs/gst/pbutils/gstdiscoverer.c +++ b/gst-libs/gst/pbutils/gstdiscoverer.c @@ -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) == + GST_DISCOVERER_OK, NULL); + 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); diff --git a/tests/check/libs/discoverer.c b/tests/check/libs/discoverer.c index 8fe5ecf5f9..aa2b9a9431 100644 --- a/tests/check/libs/discoverer.c +++ b/tests/check/libs/discoverer.c @@ -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), + GST_DISCOVERER_OK); serialized = gst_discoverer_info_to_variant (info, GST_DISCOVERER_SERIALIZE_ALL);