[RFC PATCH spice-server v3 00/20] Allows guests to send display data as video streams

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

 



This patcheset add a device to allow guest machines with assigned
hardware devices to send encoded video and other informations that
will be handled as a normal display by Spice.

New GPU devices are capable to capture and encode video in an
efficient way. As the GPU in this case is assigned to the guest
and not the host is easier if the guest do the hard job.

This patchset add a new "com.redhat.stream.0" device visible to
the guests. This device will be used by the guest to send streaming
data. The host will forward the data to the client.

To do so a new StreamChannel class, implementing the protocol
DisplayChannel is implemented.

Changes since git publish v2:
- define PRIMARY_SURFACE_ID mnemonic to make code more readable;
- renamed ask_new_stream to request_new_stream;
- miscellaneous comment updates;
- use NUM_STREAMS instead of fixed 40 value;
- pass time to StreamChannel sending data;
- add finalize method to free memory;
- add support for cursor move.

Frediano Ziglio (20):
  char-device: Allows to handle port events from any char device
  stream-device: Add device to handle streaming
  stream-device: Start parsing new protocol from guest
  stream-channel: Write a really base channel to implement the streaming
  stream-channel: Start implementing DisplayChannel properly
  stream-device: Create channel for stream device
  stream-channel: Implements initialization
  stream-device: Handle streaming data from device to channel
  stream-channel: Allows not fixed size
  stream-channel: Allows to register callback to get new stream request
  stream-channel: Support client connection/disconnection
  stream-channel: Do not show an empty blank screen on start
  char-device: Do not stop and clear interface on reset
  stream-device: Start supporting resetting device when close/open on
    guest
  stream-device: Limit sending queue from guest to server
  stream-channel: Activate streaming report from client
  WIP cursor-channel: Allow to not handle a QXL device
  WIP stream-device: handle cursor from device
  WIP: Try to reduce delay
  stream-device: Implement mouse movement

 server/Makefile.am      |   3 +
 server/char-device.c    |  25 ++-
 server/char-device.h    |   4 +
 server/cursor-channel.c |   6 +-
 server/reds.c           |   8 +-
 server/spicevmc.c       |  10 +-
 server/stream-channel.c | 570 ++++++++++++++++++++++++++++++++++++++++++++++++
 server/stream-channel.h |  82 +++++++
 server/stream-device.c  | 515 +++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 1211 insertions(+), 12 deletions(-)
 create mode 100644 server/stream-channel.c
 create mode 100644 server/stream-channel.h
 create mode 100644 server/stream-device.c

-- 
2.13.5

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




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