From c689aeb5fd16085cc15a41ef8457c645244a28cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 27 Oct 2005 11:25:19 +0000 Subject: 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. --- ChangeLog | 7 +++++++ gst/qtdemux/qtdemux.c | 29 ++++++++--------------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 84a87bdc..e3d46c53 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-10-27 Tim-Philipp Müller + + * gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init), + (qtdemux_parse_tree): + Remove 'got-redirect' signal and post element message + on the bus instead. + 2005-10-26 Zeeshan Ali * ext/gsm/gstgsm.c: 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 " }; -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; } } -- cgit v1.2.1