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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Feb 16 01:58:53 PST 2015


Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
 Attachment #296860|none                        |needs-work
             status|                            |

--- Comment #111 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 296860:
 --> (https://bugzilla.gnome.org/review?bug=736655&attachment=296860)

::: 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) {
  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.

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