aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/gstreamer_extractor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gstreamer_extractor.c')
-rw-r--r--src/plugins/gstreamer_extractor.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/plugins/gstreamer_extractor.c b/src/plugins/gstreamer_extractor.c
index 5a6fcec..82184d9 100644
--- a/src/plugins/gstreamer_extractor.c
+++ b/src/plugins/gstreamer_extractor.c
@@ -1579,7 +1579,7 @@ EXTRACTOR_gstreamer_extract_method (struct EXTRACTOR_ExtractContext *ec)
1579 int64_t offset; 1579 int64_t offset;
1580 void *data; 1580 void *data;
1581 GstDiscoverer *dc; 1581 GstDiscoverer *dc;
1582 struct PrivStruct *ps; 1582 struct PrivStruct ps;
1583 GError *err = NULL; 1583 GError *err = NULL;
1584 gint timeout = 10; 1584 gint timeout = 10;
1585 1585
@@ -1596,22 +1596,19 @@ EXTRACTOR_gstreamer_extract_method (struct EXTRACTOR_ExtractContext *ec)
1596 g_signal_connect (dc, "finished", G_CALLBACK (_discoverer_finished), ps); 1596 g_signal_connect (dc, "finished", G_CALLBACK (_discoverer_finished), ps);
1597 g_signal_connect (dc, "source-setup", G_CALLBACK (_source_setup), ps); 1597 g_signal_connect (dc, "source-setup", G_CALLBACK (_source_setup), ps);
1598 1598
1599 ps = g_new0 (struct PrivStruct, 1); 1599 memset (&ps, 0, sizeof (ps));
1600 ps->dc = dc; 1600 ps.dc = dc;
1601 ps->loop = g_main_loop_new (NULL, TRUE); 1601 ps.loop = g_main_loop_new (NULL, TRUE);
1602 ps->ec = ec; 1602 ps.ec = ec;
1603 ps->length = ps->ec->get_size (ps->ec->cls); 1603 ps.length = ps->ec->get_size (ps->ec->cls);
1604 if (ps->length == UINT_MAX) 1604 if (ps.length == UINT_MAX)
1605 ps->length = 0; 1605 ps.length = 0;
1606 1606
1607 gst_discoverer_start (dc); 1607 gst_discoverer_start (dc);
1608 g_idle_add ((GSourceFunc) _run_async, ps); 1608 g_idle_add ((GSourceFunc) &_run_async, &ps);
1609 g_main_loop_run (ps->loop); 1609 g_main_loop_run (ps.loop);
1610 gst_discoverer_stop (dc); 1610 gst_discoverer_stop (dc);
1611 g_free (ps);
1612 ps = NULL;
1613 gst_object_unref (GST_OBJECT (dc)); 1611 gst_object_unref (GST_OBJECT (dc));
1614 dc = NULL;
1615} 1612}
1616 1613
1617 1614