diff --git a/ChangeLog b/ChangeLog index 99048c9ff1..09cb4a72e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2006-09-18 Wim Taymans + + * gst/gstelement.c: (gst_element_post_message), + (gst_element_dispose): + Use _DEBUG_OBJECT some more. + + * libs/gst/base/gstbasesrc.c: (gst_base_src_loop): + Avoid typechecks. + + * tools/gst-launch.c: (main): + If the toplevel element is not a GstPipeline, it must be put in a + pipeline so that a bus and clock is selected. + 2006-09-17 Tim-Philipp Müller * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query): diff --git a/gst/gstelement.c b/gst/gstelement.c index 7f9fed2e4f..83de7fc383 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -1448,7 +1448,7 @@ gst_element_post_message (GstElement * element, GstMessage * message) /* ERRORS */ no_bus: { - GST_DEBUG ("not posting message %p: no bus", message); + GST_DEBUG_OBJECT (element, "not posting message %p: no bus", message); GST_OBJECT_UNLOCK (element); gst_message_unref (message); return FALSE; @@ -2522,7 +2522,7 @@ gst_element_dispose (GObject * object) g_return_if_fail (GST_STATE_PENDING (element) == GST_STATE_VOID_PENDING); - GST_DEBUG ("removing %d pads", g_list_length (element->pads)); + GST_DEBUG_OBJECT (element, "removing %d pads", g_list_length (element->pads)); /* first we break all our links with the outside */ while (element->pads && element->pads->data) { /* don't call _remove_pad with NULL */ diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 97927a42db..68c8517295 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -1554,8 +1554,8 @@ pause: if (ret == GST_FLOW_UNEXPECTED) { /* perform EOS logic */ if (src->segment.flags & GST_SEEK_FLAG_SEGMENT) { - gst_element_post_message (GST_ELEMENT (src), - gst_message_new_segment_done (GST_OBJECT (src), + gst_element_post_message (GST_ELEMENT_CAST (src), + gst_message_new_segment_done (GST_OBJECT_CAST (src), src->segment.format, src->segment.last_stop)); } else { gst_pad_push_event (pad, gst_event_new_eos ()); diff --git a/tools/gst-launch.c b/tools/gst-launch.c index 58a1bdf76d..6f3bad8e16 100644 --- a/tools/gst-launch.c +++ b/tools/gst-launch.c @@ -679,10 +679,8 @@ main (int argc, char *argv[]) GstState state, pending; GstStateChangeReturn ret; - /* If the top-level object is not a bin, or is just a normal bin that - * doesn't do top-level type logic, place it in a pipeline. Assumes any - * other top-level bin is a special kind (like playbin) */ - if (!GST_IS_BIN (pipeline) || (G_OBJECT_TYPE (pipeline) == GST_TYPE_BIN)) { + /* If the top-level object is not a pipeline, place it in a pipeline. */ + if (!GST_IS_PIPELINE (pipeline)) { GstElement *real_pipeline = gst_element_factory_make ("pipeline", NULL); if (real_pipeline == NULL) {