diff options
author | Tim-Philipp Müller <tim@centricular.net> | 2005-10-27 11:25:19 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.net> | 2005-10-27 11:25:19 +0000 |
commit | c689aeb5fd16085cc15a41ef8457c645244a28cf (patch) | |
tree | 0a791aa58506081cd3a23a04ffd4c9b95f692fa6 /gst/qtdemux | |
parent | 72818f871d003b3b08ee75fcf59c03d1de608a99 (diff) | |
download | gst-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.c | 29 |
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; } } |