Skip to content
  • Sebastian Dröge's avatar
    basesink: Update start time when losing state only if we were in PLAYING · b9a4a2a9
    Sebastian Dröge authored
    If we were in PAUSED, the current clock time and base time don't have much to
    do with the running time anymore as the clock might have advanced while we
    were PAUSED. The system clock does that for example, audio clocks often don't.
    
    Updating the start time in PAUSED will cause a) the wrong position to be
    reported, b) step events to step not just the requested amount but the amount
    of time we spent in PAUSED. The start time should only ever be updated when
    going from PLAYING to PAUSED to remember the current running time (to be able
    to compensate later when going to PLAYING for the clock time advancing while
    PAUSED), not when we are already in PAUSED.
    
    Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>
    
    The updating of the start time when the state is lost was added in commit
    ba943a82 to fix the position reporting when
    the state is lost. This still works correctly after this change.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=739289
    b9a4a2a9