summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2005-10-27 11:25:19 +0000
committerTim-Philipp Müller <tim@centricular.net>2005-10-27 11:25:19 +0000
commitc689aeb5fd16085cc15a41ef8457c645244a28cf (patch)
tree0a791aa58506081cd3a23a04ffd4c9b95f692fa6 /gst/qtdemux
parent72818f871d003b3b08ee75fcf59c03d1de608a99 (diff)
downloadgst-plugins-bad-c689aeb5fd16085cc15a41ef8457c645244a28cf.tar.gz
gst-plugins-bad-c689aeb5fd16085cc15a41ef8457c645244a28cf.tar.bz2
gst-plugins-bad-c689aeb5fd16085cc15a41ef8457c645244a28cf.zip
gst/qtdemux/qtdemux.c: Remove 'got-redirect' signal and post element message on the bus instead.
Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init), (qtdemux_parse_tree): Remove 'got-redirect' signal and post element message on the bus instead.
Diffstat (limited to 'gst/qtdemux')
-rw-r--r--gst/qtdemux/qtdemux.c29
1 files changed, 8 insertions, 21 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 33f02533..61f660df 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -117,17 +117,6 @@ static GstElementDetails gst_qtdemux_details = {
"David Schleef <ds@schleef.org>"
};
-enum
-{
- SIGNAL_REDIRECT,
- LAST_SIGNAL
-};
-
-enum
-{
- ARG_0
-};
-
static GstStaticPadTemplate gst_qtdemux_sink_template =
GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
@@ -147,7 +136,6 @@ GST_STATIC_PAD_TEMPLATE ("video_%02d",
GST_PAD_SOMETIMES,
GST_STATIC_CAPS_ANY);
-static guint qt_signals[LAST_SIGNAL] = { 0 };
static GstElementClass *parent_class = NULL;
static void gst_qtdemux_class_init (GstQTDemuxClass * klass);
@@ -225,13 +213,7 @@ gst_qtdemux_class_init (GstQTDemuxClass * klass)
gobject_class = (GObjectClass *) klass;
gstelement_class = (GstElementClass *) klass;
- parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
- qt_signals[SIGNAL_REDIRECT] = g_signal_new ("got-redirect",
- G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GstQTDemuxClass, got_redirect),
- NULL, NULL, g_cclosure_marshal_VOID__STRING,
- G_TYPE_NONE, 1, G_TYPE_STRING);
+ parent_class = g_type_class_peek_parent (klass);
gstelement_class->change_state = gst_qtdemux_change_state;
}
@@ -1817,9 +1799,14 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
if (rmra) {
rdrf = qtdemux_tree_get_child_by_type (rmda, FOURCC_rdrf);
if (rdrf) {
+ GstStructure *s;
+ GstMessage *msg;
+
GST_LOG ("New location: %s", (char *) rdrf->data + 20);
- g_signal_emit (qtdemux, qt_signals[SIGNAL_REDIRECT], 0,
- (char *) rdrf->data + 20);
+ s = gst_structure_new ("redirect", "new-location", G_TYPE_STRING,
+ (char *) rdrf->data + 20, NULL);
+ msg = gst_message_new_element (GST_OBJECT (qtdemux), s);
+ gst_element_post_message (GST_ELEMENT (qtdemux), msg);
return;
}
}