problem of function : push_sticky

Majaja r97922153 at gmail.com
Tue Nov 3 17:21:09 PST 2015


Hi all:

When trace code, I found the timing to decide whether a stick event will be
pushed within push_sticky() is a little confusion for me.

  /* If we're called because of an sticky event, only forward
   * events that would come before this new event and *the*
   * *event itself **/
  if (data->event && GST_EVENT_IS_STICKY (data->event) &&
      GST_EVENT_TYPE (data->event) <= GST_EVENT_SEGMENT &&
      GST_EVENT_TYPE (data->event) *<* GST_EVENT_TYPE (event)) {  ==> this
line uses "<"??
    data->ret = GST_FLOW_CUSTOM_SUCCESS_1;
  } else {
    data->ret = gst_pad_push_event_unchecked (pad, gst_event_ref (event),
        GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM);
  }

It is, the comment says "forward events come before this new event and the
event itself ".
But the logic shows GST_EVENT_TYPE (data->event) < GST_EVENT_TYPE (event)
which uses "<" so I think the event itself will not be pushed.

Is there someone could indicate the contradiction please?

Thanks. 



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/problem-of-function-push-sticky-tp4674384.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list