From: Wim Taymans Date: Mon, 13 Feb 2006 11:52:43 +0000 (+0000) Subject: docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes... X-Git-Tag: RELEASE-0_10_4~79 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b37766658e0307dfead13a909a8b8682420e10f6;p=platform%2Fupstream%2Fgstreamer.git docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes formats. Original commit message from CVS: * docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes formats. * docs/design/part-element-sink.txt: Update docs. * gst/gstbin.c: (bin_replace_message), (gst_bin_handle_message_func): * gst/gstbus.c: (gst_bus_post), (gst_bus_pop): * gst/gstevent.c: (gst_event_finalize): * gst/gstpad.c: (gst_pad_event_default_dispatch), (gst_pad_send_event): Use shiny new _TYPE_NAME macros. * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range): Move debug statement up. * gst/gstelement.c: (gst_element_set_locked_state): Add some debugging. --- diff --git a/ChangeLog b/ChangeLog index ca73628..5e0f812 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +2006-02-13 Wim Taymans + + * docs/design/part-TODO.txt: + Updated TODO list, basesrc supports seeking to non-bytes + formats. + + * docs/design/part-element-sink.txt: + Update docs. + + * gst/gstbin.c: (bin_replace_message), + (gst_bin_handle_message_func): + * gst/gstbus.c: (gst_bus_post), (gst_bus_pop): + * gst/gstevent.c: (gst_event_finalize): + * gst/gstpad.c: (gst_pad_event_default_dispatch), + (gst_pad_send_event): + Use shiny new _TYPE_NAME macros. + + * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range): + Move debug statement up. + + * gst/gstelement.c: (gst_element_set_locked_state): + Add some debugging. + 2006-02-13 Tim-Philipp Müller * docs/gst/gstreamer-sections.txt: diff --git a/common b/common index 58567e5..c30611a 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 58567e5519f2d00a4592491db1a6e8302993279e +Subproject commit c30611ac38336030fed6d258c6e558cc537adbc5 diff --git a/docs/design/part-TODO.txt b/docs/design/part-TODO.txt index ebf52ea..62bce75 100644 --- a/docs/design/part-TODO.txt +++ b/docs/design/part-TODO.txt @@ -7,8 +7,6 @@ API/ABI after the seek you want to get the new stream time that will actually be used to update the slider bar. -- make it possible to seek on other formats than bytes in basesrc. - - GstEvent, GstMessage register like GstFormat or GstQuery. - query POSITION/DURATION return accuracy. Just a flag or accuracy percentage. diff --git a/docs/design/part-element-sink.txt b/docs/design/part-element-sink.txt index 40e4bcb..e5932c7 100644 --- a/docs/design/part-element-sink.txt +++ b/docs/design/part-element-sink.txt @@ -135,10 +135,10 @@ sink overview # right away if no preroll is needed. queue (obj, prerollable) { - if (prerollable) - queuelen++ - if (need_preroll) + if (prerollable) + queuelen++ + # first item in the queue while we need preroll # will complete state change and call preroll if (queuelen == 1) diff --git a/gst/gstbin.c b/gst/gstbin.c index 21bc8e8..eee3cd8 100644 --- a/gst/gstbin.c +++ b/gst/gstbin.c @@ -574,7 +574,7 @@ bin_replace_message (GstBin * bin, GstMessage * message, GstMessageType types) gboolean res = TRUE; const gchar *name; - name = gst_message_type_get_name (GST_MESSAGE_TYPE (message)); + name = GST_MESSAGE_TYPE_NAME (message); if ((src = GST_MESSAGE_SRC (message))) { MessageFind find; @@ -1962,7 +1962,7 @@ static void gst_bin_handle_message_func (GstBin * bin, GstMessage * message) { GST_DEBUG_OBJECT (bin, "[msg %p] handling child message of type %s", - message, gst_message_type_get_name (GST_MESSAGE_TYPE (message))); + message, GST_MESSAGE_TYPE_NAME (message)); switch (GST_MESSAGE_TYPE (message)) { case GST_MESSAGE_EOS: diff --git a/gst/gstbus.c b/gst/gstbus.c index 20ce504..b221169 100644 --- a/gst/gstbus.c +++ b/gst/gstbus.c @@ -317,7 +317,7 @@ gst_bus_post (GstBus * bus, GstMessage * message) g_return_val_if_fail (GST_IS_MESSAGE (message), FALSE); GST_DEBUG_OBJECT (bus, "[msg %p] posting on bus, type %s", - message, gst_message_type_get_name (GST_MESSAGE_TYPE (message))); + message, GST_MESSAGE_TYPE_NAME (message)); GST_OBJECT_LOCK (bus); /* check if the bus is flushing */ @@ -490,7 +490,7 @@ gst_bus_pop (GstBus * bus) if (message) GST_DEBUG_OBJECT (bus, "pop from bus, have %d messages, got message %p, %s", g_queue_get_length (bus->queue) + 1, message, - gst_message_type_get_name (GST_MESSAGE_TYPE (message))); + GST_MESSAGE_TYPE_NAME (message)); else GST_DEBUG_OBJECT (bus, "pop from bus, no messages"); g_mutex_unlock (bus->queue_lock); diff --git a/gst/gstelement.c b/gst/gstelement.c index 96b6712..2ad9288 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -1577,6 +1577,8 @@ gst_element_set_locked_state (GstElement * element, gboolean locked_state) return TRUE; was_ok: + GST_CAT_DEBUG (GST_CAT_STATES, "elements %s was in locked state %d", + GST_ELEMENT_NAME (element), old); GST_OBJECT_UNLOCK (element); return FALSE; diff --git a/gst/gstevent.c b/gst/gstevent.c index afeae86..0db8cee 100644 --- a/gst/gstevent.c +++ b/gst/gstevent.c @@ -239,7 +239,7 @@ gst_event_finalize (GstEvent * event) g_return_if_fail (GST_IS_EVENT (event)); GST_CAT_LOG (GST_CAT_EVENT, "freeing event %p type %s", event, - gst_event_type_get_name (GST_EVENT_TYPE (event))); + GST_EVENT_TYPE_NAME (event)); if (GST_EVENT_SRC (event)) { gst_object_unref (GST_EVENT_SRC (event)); diff --git a/gst/gstpad.c b/gst/gstpad.c index b48267f..b20eda2 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -2706,16 +2706,14 @@ gst_pad_event_default_dispatch (GstPad * pad, GstEvent * event) /* for each pad we send to, we should ref the event; it's up * to downstream to unref again when handled. */ GST_LOG_OBJECT (pad, "Reffing and sending event %p (%s) to %s:%s", - event, gst_event_type_get_name (GST_EVENT_TYPE (event)), - GST_DEBUG_PAD_NAME (eventpad)); + event, GST_EVENT_TYPE_NAME (event), GST_DEBUG_PAD_NAME (eventpad)); gst_event_ref (event); gst_pad_push_event (eventpad, event); } else { /* we only send the event on one pad, multi-sinkpad elements * should implement a handler */ GST_LOG_OBJECT (pad, "sending event %p (%s) to one sink pad %s:%s", - event, gst_event_type_get_name (GST_EVENT_TYPE (event)), - GST_DEBUG_PAD_NAME (eventpad)); + event, GST_EVENT_TYPE_NAME (event), GST_DEBUG_PAD_NAME (eventpad)); result = gst_pad_push_event (eventpad, event); goto done; } @@ -3665,7 +3663,6 @@ gst_pad_send_event (GstPad * pad, GstEvent * event) GST_OBJECT_LOCK (pad); } - switch (GST_EVENT_TYPE (event)) { case GST_EVENT_FLUSH_START: GST_CAT_DEBUG (GST_CAT_EVENT, @@ -3689,8 +3686,7 @@ gst_pad_send_event (GstPad * pad, GstEvent * event) break; default: GST_CAT_DEBUG (GST_CAT_EVENT, "have event type %s on pad %s:%s", - gst_event_type_get_name (GST_EVENT_TYPE (event)), - GST_DEBUG_PAD_NAME (pad)); + GST_EVENT_TYPE_NAME (event), GST_DEBUG_PAD_NAME (pad)); /* make this a little faster, no point in grabbing the lock * if the pad is allready flushing. */ diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 5ec13f2..7d7ce9f 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -1123,13 +1123,14 @@ gst_base_src_get_range (GstBaseSrc * src, guint64 offset, guint length, src->num_buffers_left--; } + GST_DEBUG_OBJECT (src, + "calling create offset %" G_GUINT64_FORMAT " %" G_GINT64_FORMAT, offset, + src->segment.time); + ret = bclass->create (src, offset, length, buf); if (ret != GST_FLOW_OK) goto done; - GST_DEBUG_OBJECT (src, "offset %" G_GUINT64_FORMAT " %" G_GINT64_FORMAT, - offset, src->segment.time); - /* no timestamp set and we are at offset 0 */ if (offset == 0 && src->segment.time == 0 && GST_BUFFER_TIMESTAMP (*buf) == -1)