decodebin2: fix up the debugs and warnings

Use _OBJECT variants because we can. Go over some log statements and put them in
the right category.
Fixes #567740.
This commit is contained in:
Wim Taymans 2009-04-14 11:34:49 +02:00
parent 1beabc48e8
commit 4265511b70

View file

@ -1101,7 +1101,8 @@ setup_caps_delay:
if (group) { if (group) {
GROUP_MUTEX_LOCK (group); GROUP_MUTEX_LOCK (group);
group->nbdynamic++; group->nbdynamic++;
GST_LOG ("Group %p has now %d dynamic elements", group, group->nbdynamic); GST_LOG_OBJECT (dbin, "Group %p has now %d dynamic elements", group,
group->nbdynamic);
GROUP_MUTEX_UNLOCK (group); GROUP_MUTEX_UNLOCK (group);
g_signal_connect (G_OBJECT (pad), "notify::caps", g_signal_connect (G_OBJECT (pad), "notify::caps",
G_CALLBACK (caps_notify_group_cb), group); G_CALLBACK (caps_notify_group_cb), group);
@ -1356,11 +1357,12 @@ connect_element (GstDecodeBin * dbin, GstElement * element,
/* 2. if there are more potential pads, connect to relevent signals */ /* 2. if there are more potential pads, connect to relevent signals */
if (dynamic) { if (dynamic) {
if (group) { if (group) {
GST_LOG ("Adding signals to element %s in group %p", GST_LOG_OBJECT (dbin, "Adding signals to element %s in group %p",
GST_ELEMENT_NAME (element), group); GST_ELEMENT_NAME (element), group);
GROUP_MUTEX_LOCK (group); GROUP_MUTEX_LOCK (group);
group->nbdynamic++; group->nbdynamic++;
GST_LOG ("Group %p has now %d dynamic elements", group, group->nbdynamic); GST_LOG_OBJECT (dbin, "Group %p has now %d dynamic elements", group,
group->nbdynamic);
GROUP_MUTEX_UNLOCK (group); GROUP_MUTEX_UNLOCK (group);
g_signal_connect (G_OBJECT (element), "pad-added", g_signal_connect (G_OBJECT (element), "pad-added",
G_CALLBACK (pad_added_group_cb), group); G_CALLBACK (pad_added_group_cb), group);
@ -1496,7 +1498,8 @@ pad_added_group_cb (GstElement * element, GstPad * pad, GstDecodeGroup * group)
GROUP_MUTEX_LOCK (group); GROUP_MUTEX_LOCK (group);
if (group->nbdynamic > 0) if (group->nbdynamic > 0)
group->nbdynamic--; group->nbdynamic--;
GST_LOG ("Group %p has now %d dynamic objects", group, group->nbdynamic); GST_LOG_OBJECT (dbin, "Group %p has now %d dynamic objects", group,
group->nbdynamic);
if (group->nbdynamic == 0) if (group->nbdynamic == 0)
expose = TRUE; expose = TRUE;
GROUP_MUTEX_UNLOCK (group); GROUP_MUTEX_UNLOCK (group);
@ -1566,7 +1569,7 @@ no_more_pads_cb (GstElement * element, GstDecodeBin * dbin)
no_group: no_group:
{ {
GST_WARNING_OBJECT (dbin, "We couldn't find a non-completed group !!"); GST_DEBUG_OBJECT (dbin, "We couldn't find a non-completed group");
return; return;
} }
} }
@ -1743,7 +1746,7 @@ gst_decode_group_new (GstDecodeBin * dbin, gboolean use_queue)
if (use_queue) { if (use_queue) {
if (!(mq = gst_element_factory_make ("multiqueue", NULL))) { if (!(mq = gst_element_factory_make ("multiqueue", NULL))) {
GST_WARNING ("Couldn't create multiqueue element"); GST_ERROR_OBJECT (dbin, "Couldn't create multiqueue element");
return NULL; return NULL;
} }
} else { } else {
@ -1842,20 +1845,23 @@ get_current_group (GstDecodeBin * dbin, gboolean create, gboolean as_demux,
static GstPad * static GstPad *
gst_decode_group_control_demuxer_pad (GstDecodeGroup * group, GstPad * pad) gst_decode_group_control_demuxer_pad (GstDecodeGroup * group, GstPad * pad)
{ {
GstDecodeBin *dbin;
GstPad *srcpad, *sinkpad; GstPad *srcpad, *sinkpad;
gchar *nb, *sinkname, *srcname; gchar *nb, *sinkname, *srcname;
GST_LOG ("group:%p pad %s:%s", group, GST_DEBUG_PAD_NAME (pad)); dbin = group->dbin;
GST_LOG_OBJECT (dbin, "group:%p pad %s:%s", group, GST_DEBUG_PAD_NAME (pad));
srcpad = NULL; srcpad = NULL;
if (!(sinkpad = gst_element_get_request_pad (group->multiqueue, "sink%d"))) { if (!(sinkpad = gst_element_get_request_pad (group->multiqueue, "sink%d"))) {
GST_ERROR ("Couldn't get sinkpad from multiqueue"); GST_ERROR_OBJECT (dbin, "Couldn't get sinkpad from multiqueue");
return NULL; return NULL;
} }
if ((gst_pad_link (pad, sinkpad) != GST_PAD_LINK_OK)) { if ((gst_pad_link (pad, sinkpad) != GST_PAD_LINK_OK)) {
GST_ERROR ("Couldn't link demuxer and multiqueue"); GST_ERROR_OBJECT (dbin, "Couldn't link demuxer and multiqueue");
goto beach; goto beach;
} }
@ -1869,7 +1875,7 @@ gst_decode_group_control_demuxer_pad (GstDecodeGroup * group, GstPad * pad)
GROUP_MUTEX_LOCK (group); GROUP_MUTEX_LOCK (group);
if (!(srcpad = gst_element_get_static_pad (group->multiqueue, srcname))) { if (!(srcpad = gst_element_get_static_pad (group->multiqueue, srcname))) {
GST_ERROR ("Couldn't get srcpad %s from multiqueue", srcname); GST_ERROR_OBJECT (dbin, "Couldn't get srcpad %s from multiqueue", srcname);
goto chiringuito; goto chiringuito;
} }
@ -1913,10 +1919,13 @@ gst_decode_group_control_source_pad (GstDecodeGroup * group,
static gboolean static gboolean
gst_decode_group_check_if_blocked (GstDecodeGroup * group) gst_decode_group_check_if_blocked (GstDecodeGroup * group)
{ {
GstDecodeBin *dbin;
GList *tmp; GList *tmp;
gboolean blocked = TRUE; gboolean blocked = TRUE;
GST_LOG ("group : %p , ->complete:%d , ->nbdynamic:%d", dbin = group->dbin;
GST_LOG_OBJECT (dbin, "group : %p , ->complete:%d , ->nbdynamic:%d",
group, group->complete, group->nbdynamic); group, group->complete, group->nbdynamic);
/* don't do anything if group is not complete */ /* don't do anything if group is not complete */
@ -1936,7 +1945,7 @@ gst_decode_group_check_if_blocked (GstDecodeGroup * group)
/* Update status of group */ /* Update status of group */
group->blocked = blocked; group->blocked = blocked;
GST_LOG ("group is blocked:%d", blocked); GST_LOG_OBJECT (dbin, "group is blocked:%d", blocked);
return blocked; return blocked;
} }
@ -2103,8 +2112,9 @@ gst_decode_group_expose (GstDecodeGroup * group)
GST_DEBUG_OBJECT (dbin, "going to expose group %p", group); GST_DEBUG_OBJECT (dbin, "going to expose group %p", group);
if (group->nbdynamic) { if (group->nbdynamic) {
GST_WARNING ("Group %p still has %d dynamic objects, not exposing yet", GST_DEBUG_OBJECT (dbin,
group, group->nbdynamic); "Group %p still has %d dynamic objects, not exposing yet", group,
group->nbdynamic);
return FALSE; return FALSE;
} }
@ -2122,7 +2132,7 @@ gst_decode_group_expose (GstDecodeGroup * group)
/* we can now disconnect any overrun signal, which is used to expose the /* we can now disconnect any overrun signal, which is used to expose the
* group. */ * group. */
if (group->overrunsig) { if (group->overrunsig) {
GST_LOG ("Disconnecting overrun"); GST_LOG_OBJECT (dbin, "Disconnecting overrun");
g_signal_handler_disconnect (group->multiqueue, group->overrunsig); g_signal_handler_disconnect (group->multiqueue, group->overrunsig);
group->overrunsig = 0; group->overrunsig = 0;
} }
@ -2136,11 +2146,12 @@ gst_decode_group_expose (GstDecodeGroup * group)
} }
if (!dbin->groups || (group != (GstDecodeGroup *) dbin->groups->data)) { if (!dbin->groups || (group != (GstDecodeGroup *) dbin->groups->data)) {
GST_WARNING ("Group %p is not the first group to expose", group); GST_WARNING_OBJECT (dbin, "Group %p is not the first group to expose",
group);
return FALSE; return FALSE;
} }
GST_LOG ("Exposing group %p", group); GST_LOG_OBJECT (dbin, "Exposing group %p", group);
/* re-order pads : video, then audio, then others */ /* re-order pads : video, then audio, then others */
group->endpads = g_list_sort (group->endpads, (GCompareFunc) sort_end_pads); group->endpads = g_list_sort (group->endpads, (GCompareFunc) sort_end_pads);
@ -2216,11 +2227,14 @@ static void
gst_decode_group_hide (GstDecodeGroup * group) gst_decode_group_hide (GstDecodeGroup * group)
{ {
GList *tmp; GList *tmp;
GstDecodeBin *dbin;
GST_LOG ("Hiding group %p", group); dbin = group->dbin;
if (group != group->dbin->activegroup) { GST_LOG_OBJECT (dbin, "Hiding group %p", group);
GST_WARNING ("This group is not the active one, aborting");
if (group != dbin->activegroup) {
GST_WARNING_OBJECT (dbin, "This group is not the active one, ignoring");
return; return;
} }
@ -2250,7 +2264,7 @@ deactivate_free_recursive (GstDecodeGroup * group, GstElement * element)
dbin = group->dbin; dbin = group->dbin;
GST_LOG ("element:%s", GST_ELEMENT_NAME (element)); GST_LOG_OBJECT (dbin, "element:%s", GST_ELEMENT_NAME (element));
/* call on downstream elements */ /* call on downstream elements */
it = gst_element_iterate_src_pads (element); it = gst_element_iterate_src_pads (element);
@ -2267,7 +2281,8 @@ restart:
goto restart; goto restart;
case GST_ITERATOR_ERROR: case GST_ITERATOR_ERROR:
{ {
GST_WARNING ("Had an error while iterating source pads of element: %s", GST_WARNING_OBJECT (dbin,
"Had an error while iterating source pads of element: %s",
GST_ELEMENT_NAME (element)); GST_ELEMENT_NAME (element));
goto beach; goto beach;
} }