video streaming: add support for frames of different sizes

rhbz #815422

Add SPICE_MSG_DISPLAY_STREAM_DATA_SIZED, for stream_data message
that in addition to the mjpeg data, also contains the
(1) width and height of the compressed frame.
(2) the destination box of the frame.
The server can send such messages only to clients with
SPICE_DISPLAY_CAP_SIZED_STREAM.

When playing a youtube video on Windows guest, the driver sometimes sends
images which contain the video frames, but also other parts of the
screen (e.g., the youtube process bar). In order to prevent glitches, we send these
images as part of the stream, using SPICE_MSG_DISPLAY_STREAM_DATA_SIZED.
This commit is contained in:
Yonit Halperin 2012-03-26 18:19:14 +02:00
parent 8a20378425
commit bf0daeb3a3
2 changed files with 5 additions and 0 deletions

View File

@ -415,6 +415,7 @@ enum {
SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND,
SPICE_MSG_DISPLAY_SURFACE_CREATE,
SPICE_MSG_DISPLAY_SURFACE_DESTROY,
SPICE_MSG_DISPLAY_STREAM_DATA_SIZED,
SPICE_MSG_END_DISPLAY
};

View File

@ -122,6 +122,10 @@ enum {
SPICE_MAIN_CAP_NAME_AND_UUID,
};
enum {
SPICE_DISPLAY_CAP_SIZED_STREAM,
};
#include <spice/end-packed.h>
#endif /* _H_SPICE_PROTOCOL */