summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/media-info/media-info.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/media-info/media-info.c')
-rw-r--r--gst-libs/gst/media-info/media-info.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gst-libs/gst/media-info/media-info.c b/gst-libs/gst/media-info/media-info.c
index a847785f..826d4fef 100644
--- a/gst-libs/gst/media-info/media-info.c
+++ b/gst-libs/gst/media-info/media-info.c
@@ -151,14 +151,19 @@ gst_media_info_instance_init (GstMediaInfo *info)
info->priv->pipeline = gst_pipeline_new ("media-info");
+ /* create the typefind element and make sure it stays around by reffing */
info->priv->typefind = gst_element_factory_make ("typefind", "typefind");
if (!GST_IS_ELEMENT (info->priv->typefind))
- /* FIXME */
g_error ("Cannot create typefind element !");
-
- /* ref it so it never goes away on removal out of bins */
gst_object_ref (GST_OBJECT (info->priv->typefind));
+ /* create the fakesink element and make sure it stays around by reffing */
+ info->priv->fakesink = gst_element_factory_make ("fakesink", "fakesink");
+ if (!GST_IS_ELEMENT (info->priv->fakesink))
+ g_error ("Cannot create fakesink element !");
+ gst_object_ref (GST_OBJECT (info->priv->fakesink));
+
+
/* use gnomevfssrc by default */
source = gst_element_factory_make ("gnomevfssrc", "source");
if (GST_IS_ELEMENT (source))
@@ -292,6 +297,7 @@ gst_media_info_read_idler (GstMediaInfo *info, GstMediaInfoStream **streamp)
GST_DEBUG ("STATE_TYPEFIND");
if ((priv->type == NULL) && gst_bin_iterate (GST_BIN (priv->pipeline)))
{
+ GST_DEBUG ("iterating while in STATE_TYPEFIND");
GMI_DEBUG("?");
return TRUE;
}