diff options
author | Stefan Sauer <ensonic@users.sf.net> | 2017-07-09 21:16:44 +0200 |
---|---|---|
committer | Stefan Sauer <ensonic@users.sf.net> | 2017-07-09 21:17:43 +0200 |
commit | 7a4df51b08c30422d6220d20e4c934b293fbd22f (patch) | |
tree | 70065651d2d81d01db9532b1d3247db22a3a0c7f /libs/gst/base | |
parent | f37688ef4d81fd1a28eddb1e26b1efccc46329db (diff) |
collectpads: correct some comments and add more logging
Add more logging to analyze event handling (especially failure cases).
Diffstat (limited to 'libs/gst/base')
-rw-r--r-- | libs/gst/base/gstcollectpads.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c index ad6221119..0a990b242 100644 --- a/libs/gst/base/gstcollectpads.c +++ b/libs/gst/base/gstcollectpads.c @@ -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 |