summaryrefslogtreecommitdiff
path: root/ext/gnomevfs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gnomevfs')
-rw-r--r--ext/gnomevfs/gstgnomevfssrc.c23
-rw-r--r--ext/gnomevfs/gstgnomevfssrc.h2
2 files changed, 7 insertions, 18 deletions
diff --git a/ext/gnomevfs/gstgnomevfssrc.c b/ext/gnomevfs/gstgnomevfssrc.c
index fb60c374..3242f653 100644
--- a/ext/gnomevfs/gstgnomevfssrc.c
+++ b/ext/gnomevfs/gstgnomevfssrc.c
@@ -275,7 +275,6 @@ gst_gnome_vfs_src_init (GstGnomeVFSSrc * gnomevfssrc)
gnomevfssrc->curoffset = 0;
gnomevfssrc->seekable = FALSE;
- gnomevfssrc->icy_caps = NULL;
gnomevfssrc->iradio_mode = FALSE;
gnomevfssrc->http_callbacks_pushed = FALSE;
gnomevfssrc->iradio_name = NULL;
@@ -329,11 +328,6 @@ gst_gnome_vfs_src_finalize (GObject * object)
g_free (src->iradio_title);
src->iradio_title = NULL;
- if (src->icy_caps) {
- gst_caps_unref (src->icy_caps);
- src->icy_caps = NULL;
- }
-
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -534,9 +528,14 @@ gst_gnome_vfs_src_received_headers_callback (gconstpointer in,
/* Icecast stuff */
if (strncmp (data, "icy-metaint:", 12) == 0) { /* ugh */
if (sscanf (data + 12, "%d", &icy_metaint) == 1) {
- if (icy_metaint > 0)
- src->icy_caps = gst_caps_new_simple ("application/x-icy",
+ if (icy_metaint > 0) {
+ GstCaps *icy_caps;
+
+ icy_caps = gst_caps_new_simple ("application/x-icy",
"metadata-interval", G_TYPE_INT, icy_metaint, NULL);
+ gst_pad_set_caps (GST_BASE_SRC_PAD (src), icy_caps);
+ gst_caps_unref (icy_caps);
+ }
}
continue;
}
@@ -633,9 +632,6 @@ gst_gnome_vfs_src_create (GstBaseSrc * basesrc, guint64 offset, guint size,
buf = gst_buffer_new_and_alloc (size);
- if (src->icy_caps)
- gst_buffer_set_caps (buf, src->icy_caps);
-
data = GST_BUFFER_DATA (buf);
GST_BUFFER_OFFSET (buf) = src->curoffset;
@@ -866,10 +862,5 @@ gst_gnome_vfs_src_stop (GstBaseSrc * basesrc)
}
src->curoffset = 0;
- if (src->icy_caps) {
- gst_caps_unref (src->icy_caps);
- src->icy_caps = NULL;
- }
-
return TRUE;
}
diff --git a/ext/gnomevfs/gstgnomevfssrc.h b/ext/gnomevfs/gstgnomevfssrc.h
index 8c37fe8d..31c1f65c 100644
--- a/ext/gnomevfs/gstgnomevfssrc.h
+++ b/ext/gnomevfs/gstgnomevfssrc.h
@@ -67,8 +67,6 @@ struct _GstGnomeVFSSrc
gboolean iradio_mode;
gboolean http_callbacks_pushed;
- GstCaps *icy_caps;
-
gchar *iradio_name;
gchar *iradio_genre;
gchar *iradio_url;