[Bug 645961] [pulsesink] hangs when going from paused to playing near EOS

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Mar 31 04:30:11 PDT 2011

  GStreamer | gst-plugins-good | git

Mark Nauwelaerts <mnauw> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #12 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2011-03-31 11:30:05 UTC ---
In -good:

commit 176b8ffbfffb39d0d340e3e5f19f1081884523d7
Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Thu Mar 31 13:25:00 2011 +0200

    pulsesink: also uncork during EOS waiting (and after EOS is rendered)

    Pulsesink was recently changed to defer uncorking until there is data
    to write. This condition will however never occur when EOS in being
    rendered (since that marks the end of data). Changing to PAUSED state
    while EOS is being waited on results in a hang: pausing corks the
    stream, which will never be undone since there is no more data when
    going back to PLAYING. If pulsesink is the clock provider, deadlock
    ensues since time doesn't continue in corked state and the clock id
    for EOS wait never fires.

    Fixes #645961.

which depends on -base:

commit e73f293ee560379d3667c832be8165042a186877
Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Mon Mar 28 22:00:25 2011 +0200

    baseaudiosink: arrange for running clock when rendering eos

    Commit ba2e500bd992d8ad7db0da923801964964835967 ensured to provide
    a running clock when EOS had finished rendering.  However,
    other measures are needed (and were in place before) to ensure a
    running clock when EOS still needs rendering (i.e. waiting).

    So, specifically, re-introduce eos_rendering removed in aforementioned
    this time as a public variable so subclasses can be aware of the situation.

    Fixes (part of) #645961.

    API: GstBaseAudioSink:eos_rendering

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