[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r23317 - Extractor/src/plugins
From: |
gnunet |
Subject: |
[GNUnet-SVN] r23317 - Extractor/src/plugins |
Date: |
Sun, 19 Aug 2012 22:58:36 +0200 |
Author: grothoff
Date: 2012-08-19 22:58:36 +0200 (Sun, 19 Aug 2012)
New Revision: 23317
Modified:
Extractor/src/plugins/gstreamer_extractor.c
Log:
removing ugly non-constant globals
Modified: Extractor/src/plugins/gstreamer_extractor.c
===================================================================
--- Extractor/src/plugins/gstreamer_extractor.c 2012-08-19 20:53:16 UTC (rev
23316)
+++ Extractor/src/plugins/gstreamer_extractor.c 2012-08-19 20:58:36 UTC (rev
23317)
@@ -636,6 +636,14 @@
enum CurrentStreamType st;
};
+
+static GQuark *audio_quarks;
+
+static GQuark *video_quarks;
+
+static GQuark *subtitle_quarks;
+
+
static void send_streams (GstDiscovererStreamInfo *info, struct PrivStruct
*ps);
static void send_tag_foreach (const GstTagList * tags, const gchar * tag,
@@ -649,13 +657,6 @@
static gboolean seek_data (GstElement * appsrc, guint64 position, struct
PrivStruct * ps);
-static GstDiscoverer *dc;
-static struct PrivStruct *ps;
-
-static GQuark *audio_quarks;
-static GQuark *video_quarks;
-static GQuark *subtitle_quarks;
-
static void
_new_discovered_uri (GstDiscoverer * dc, GstDiscovererInfo * info, GError *
err, struct PrivStruct * ps)
{
@@ -671,28 +672,9 @@
static int
initialize ()
{
- gint timeout = 10;
- GError *err = NULL;
-
gst_init (NULL, NULL);
-
GST_DEBUG_CATEGORY_INIT (gstreamer_extractor, "GstExtractor",
0, "GStreamer-based libextractor plugin");
- dc = gst_discoverer_new (timeout * GST_SECOND, &err);
- if (G_UNLIKELY (dc == NULL)) {
- g_print ("Error initializing: %s\n", err->message);
- return FALSE;
- }
-
- ps = g_new0 (struct PrivStruct, 1);
- ps->dc = dc;
- ps->loop = g_main_loop_new (NULL, TRUE);
-
- /* connect signals */
- g_signal_connect (dc, "discovered", G_CALLBACK (_new_discovered_uri), ps);
- g_signal_connect (dc, "finished", G_CALLBACK (_discoverer_finished), ps);
- g_signal_connect (dc, "source-setup", G_CALLBACK (_source_setup), ps);
-
audio_quarks = g_new0 (GQuark, 4);
audio_quarks[0] = g_quark_from_string ("rate");
audio_quarks[1] = g_quark_from_string ("channels");
@@ -1596,10 +1578,27 @@
static int initialized = FALSE;
int64_t offset;
void *data;
+ GstDiscoverer *dc;
+ struct PrivStruct *ps;
+ GError *err = NULL;
+ gint timeout = 10;
- if (! initialized)
- if (! (initialized = initialize ()))
- return;
+ if ( (! initialized) &&
+ (! (initialized = initialize ())) )
+ return;
+ dc = gst_discoverer_new (timeout * GST_SECOND, &err);
+ if (G_UNLIKELY (dc == NULL)) {
+ g_print ("Error initializing: %s\n", err->message);
+ return;
+ }
+ /* connect signals */
+ g_signal_connect (dc, "discovered", G_CALLBACK (_new_discovered_uri), ps);
+ g_signal_connect (dc, "finished", G_CALLBACK (_discoverer_finished), ps);
+ g_signal_connect (dc, "source-setup", G_CALLBACK (_source_setup), ps);
+
+ ps = g_new0 (struct PrivStruct, 1);
+ ps->dc = dc;
+ ps->loop = g_main_loop_new (NULL, TRUE);
ps->ec = ec;
ps->length = ps->ec->get_size (ps->ec->cls);
if (ps->length == UINT_MAX)
@@ -1609,6 +1608,11 @@
g_idle_add ((GSourceFunc) _run_async, ps);
g_main_loop_run (ps->loop);
gst_discoverer_stop (dc);
+ g_free (ps);
+ ps = NULL;
+ gst_object_unref (GST_OBJECT (dc));
+ dc = NULL;
}
+
/* end of gstreamer_extractor.c */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r23317 - Extractor/src/plugins,
gnunet <=