[Bug 722791] basesrc: not respecting seqnum of eos from send_event

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jan 24 03:58:34 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=722791
  GStreamer | gstreamer (core) | 1.2.2

--- Comment #8 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2014-01-24 11:58:31 UTC ---
(In reply to comment #7)
> Review of attachment 267095 [details]:
> 
> Generally looks good
> 
> ::: libs/gst/base/gstbasesrc.c
> @@ +194,3 @@
> +    if (bsrc->priv->pending_eos) { \
> +      gst_event_unref (bsrc->priv->pending_eos); \
> +      bsrc->priv->pending_eos = NULL; \
> 
> Just use gst_event_replace() maybe? Makes this macro two lines instead of many

Updated.

> 
> @@ +1799,3 @@
> +      if (src->priv->pending_eos)
> +        gst_event_unref (src->priv->pending_eos);
> +      src->priv->pending_eos = event;
> 
> Shouldn't we set forced_eos here? Also what's the point of using atomic
> operations if you lock anyway?

forced_eos is only set from the _loop/_getrange functions to identify when it
was stopped because of the user sent EOS or if it was for another reason (end
of segment, end of file...)

About the atomic operations, I just followed the same strategy used for
src->priv->have_events and pending_events. I think the idea is to avoid locking
every time at the loop and use the atomic int to only lock if required.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list