Skip to content
  • Jan Alexander Steffens's avatar
    Add livesync plugin · 42385c81
    Jan Alexander Steffens authored and Vivia Nikolaidou's avatar Vivia Nikolaidou committed
    
    
    It attempts to produce a (nearly) gapless live stream by synchronizing
    its output to the running time and forwarding the next input buffer if
    its start is (nearly) flush with the end of the last output buffer.
    
    If the input buffer is missing or too far in the future, it duplicates
    the last output buffer with adjusted timestamps. If it is operating on a
    raw audio stream, it will fill duplicate buffers with silence.
    
    If an input buffer arrives too late, it is thrown away. If the last
    input buffer was accepted too long ago (according to `late-threshold`),
    a late input buffer is accepted anyway, but immediately considered a
    duplicate. Due to the silence-filling, this has no effect on audio, but
    video gets a "slideshow" effect instead of freezing completely.
    
    The "many-repeats" property will be notified when this element has
    recently duplicated a lot of buffers or recovered from such a state.
    
    Co-authored-by: default avatarVivia Nikolaidou <vivia@ahiru.eu>
    Part-of: <https://gitlab.freedesktop.org/gstream...
    42385c81