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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]