collectpads: correct some comments and add more logging

Add more logging to analyze event handling (especially failure cases).
This commit is contained in:
Stefan Sauer 2017-07-09 21:16:44 +02:00
parent f37688ef4d
commit 7a4df51b08

View file

@ -94,7 +94,7 @@ struct _GstCollectPadsPrivate
gboolean started;
/* with STREAM_LOCK */
guint32 cookie; /* @data list cookie */
guint32 cookie; /* pad_list cookie */
guint numpads; /* number of pads in @data */
guint queuedpads; /* number of pads with a buffer */
guint eospads; /* number of pads that are EOS */
@ -102,7 +102,7 @@ struct _GstCollectPadsPrivate
GstCollectData *earliest_data; /* Pad data for current earliest time */
/* with LOCK */
GSList *pad_list; /* updated pad list */
GSList *pad_list; /* list of GstCollectData* */
guint32 pad_cookie; /* updated cookie */
GstCollectPadsFunction func; /* function and user_data for callback */
@ -784,6 +784,8 @@ gst_collect_pads_set_flushing_unlocked (GstCollectPads * pads,
{
GSList *walk = NULL;
GST_DEBUG ("sink-pads flushing=%d", flushing);
/* Update the pads flushing flag */
for (walk = pads->priv->pad_list; walk; walk = g_slist_next (walk)) {
GstCollectData *cdata = walk->data;
@ -1677,6 +1679,8 @@ gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data,
pad = data->pad;
parent = GST_OBJECT_PARENT (pad);
GST_DEBUG_OBJECT (pad, "Got '%s' event", GST_EVENT_TYPE_NAME (event));
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_FLUSH_START:
{
@ -1707,7 +1711,9 @@ gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data,
} else {
/* forward event to unblock check_collected */
GST_DEBUG_OBJECT (pad, "forwarding flush start");
res = gst_pad_event_default (pad, parent, event);
if (!(res = gst_pad_event_default (pad, parent, event))) {
GST_WARNING_OBJECT (pad, "forwarding flush start failed");
}
event = NULL;
/* now unblock the chain function.
@ -1857,6 +1863,7 @@ gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data,
}
eat:
GST_DEBUG_OBJECT (pads, "dropping event: %" GST_PTR_FORMAT, event);
if (event)
gst_event_unref (event);
return res;
@ -1864,8 +1871,10 @@ eat:
forward:
if (discard)
goto eat;
else
else {
GST_DEBUG_OBJECT (pads, "forward event: %" GST_PTR_FORMAT, event);
return gst_pad_event_default (pad, parent, event);
}
}
typedef struct