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