[Bug 736655] basesink: preroll issue for some clips which audio is shorter than video

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Feb 16 03:13:35 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=736655

--- Comment #114 from kevin <kevinbing.song at gmail.com> ---
(In reply to Sebastian Dröge (slomo) from comment #111)
> Review of attachment 296860 [details] [review]:
> 
> ::: gst/playback/gststreamsynchronizer.c
> @@ -403,3 @@
> -          stream = gst_pad_get_element_private (pad);
> -          if (stream)
> -            stream->wait = FALSE;
> 
> I think this code was backwards, and would be broken with your changes (and
> a bit broken before already).
> It probably should be something like
> 
> while (stream->wait && !self->flushing) {
>   g_cond_wait(...);
>   stream = gst_pad_get_element_private (pad);
> }
> 
> And the code that calls g_cond_broadcast() would set wait=FALSE before the
> broadcast. Can you fix that when moving the code?
> 
> 
> This waiting is used you gaplessly play multiple files one after another in
> playbin. It would cause streamsynchronizer to wait playing the next file
> until all streams of the previous one are finished.

Ok, Have fixed it. Will update patch after some test.

-- 
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