[Spice-devel] [PATCH spice-gtk v3 0/6] Client-side video stream lag reduction

Frediano Ziglio fziglio at redhat.com
Fri Jul 26 09:52:07 UTC 2019


Just rebased on master. Original comment from the author (Francois
Gouget):

The series main goal is to reduce the video stream lag.

Currently the server sets the client's mmtime offset which is the source
of the video stream lag. But as was discussed before this offset is
entangled with the available network bandwidth estimations as well as
with the actual video bitrate which makes it tricky (although mostly
doable) to reduce it. Furthermore the server is 5 frame intervals and a
network roundtrip away which delays any action it can take.

In contrast the client knows immediately when a frame is late and has
all the information it needs to figure out how much buffering is needed.
So this is the approach taken in this patchset. See patch 7 and up for
more details.

Francois Gouget (6):
  channel-display: Minimize the stream lag by ignoring the server one
  playback: Use the audio timestamps for the global mmtime conversion
  channel-display: No need to rechedule on mmtime offset changes
  channel-display: Remove playback_sync_drops_seq_len
  spice-session: Keep track of the global streams lag
  mjpeg: Take the decoding time into account to display frames

 src/channel-display-gst.c   |  50 +++----
 src/channel-display-mjpeg.c |  36 +++--
 src/channel-display-priv.h  |  33 ++++-
 src/channel-display.c       | 278 +++++++++++++++++++++++++-----------
 src/channel-display.h       |   2 +
 src/channel-playback-priv.h |   4 +-
 src/channel-playback.c      |  32 +++--
 src/spice-session-priv.h    |   8 +-
 src/spice-session.c         | 103 ++++++++++---
 9 files changed, 371 insertions(+), 175 deletions(-)

-- 
2.20.1



More information about the Spice-devel mailing list