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.
This commit is contained in:
Wim Taymans 2006-02-13 11:52:43 +00:00
parent 2ca3c26ed3
commit b37766658e
10 changed files with 41 additions and 21 deletions

View file

@ -1,3 +1,26 @@
2006-02-13 Wim Taymans <wim@fluendo.com>
* 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 <tim at centricular dot net>
* docs/gst/gstreamer-sections.txt:

2
common

@ -1 +1 @@
Subproject commit 58567e5519f2d00a4592491db1a6e8302993279e
Subproject commit c30611ac38336030fed6d258c6e558cc537adbc5

View file

@ -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.

View file

@ -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)

View file

@ -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:

View file

@ -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);

View file

@ -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;

View file

@ -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));

View file

@ -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. */

View file

@ -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)