diff --git a/common/client_marshallers.h b/common/client_marshallers.h index 85051a0..522f620 100644 --- a/common/client_marshallers.h +++ b/common/client_marshallers.h @@ -72,6 +72,7 @@ typedef struct { void (*msgc_smartcard_reader_add)(SpiceMarshaller *m, VSCMsgReaderAdd *msg); #endif void (*msgc_port_event)(SpiceMarshaller *m, SpiceMsgcPortEvent *msg); + void (*msgc_display_preferred_compression)(SpiceMarshaller *m, SpiceMsgcDisplayPreferredCompression *msg); } SpiceMessageMarshallers; SpiceMessageMarshallers *spice_message_marshallers_get(void); diff --git a/common/messages.h b/common/messages.h index a8a0eee..5f5de54 100644 --- a/common/messages.h +++ b/common/messages.h @@ -630,6 +630,10 @@ typedef struct SpiceMsgcPortEvent { uint8_t event; } SpiceMsgcPortEvent; +typedef struct SpiceMsgcDisplayPreferredCompression { + uint8_t image_compression; +} SpiceMsgcDisplayPreferredCompression; + SPICE_END_DECLS #endif /* _H_SPICE_PROTOCOL */ diff --git a/spice.proto b/spice.proto index 01493c9..2889802 100644 --- a/spice.proto +++ b/spice.proto @@ -361,6 +361,17 @@ enum8 image_type { LZ4, }; +enum8 image_compress { + INVALID = 0, + OFF, + AUTO_GLZ, + AUTO_LZ, + QUIC, + GLZ, + LZ, + LZ4, +}; + flags8 image_flags { CACHE_ME, HIGH_BITS_SET, @@ -922,6 +933,10 @@ channel DisplayChannel : BaseChannel { int32 last_frame_delay; uint32 audio_delay; } stream_report; + + message { + uint8 image_compression; + } preferred_compression; }; flags16 keyboard_modifier_flags {