[Spice-devel] [spice-common v1] protocol: add preferred video codec message
Victor Toso
victortoso at redhat.com
Mon Oct 24 13:28:53 UTC 2016
From: Victor Toso <me at victortoso.com>
Client might want to choose a preferred video codec for streaming for
different reasons which having hardware decoder support being the most
interest one.
This message allows the client to send a combination of video codec
type with a ranking value of SpiceVideoCodecRank.
Signed-off-by: Victor Toso <victortoso at redhat.com>
---
common/messages.h | 10 ++++++++++
spice.proto | 18 ++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/common/messages.h b/common/messages.h
index 516a345..7bc90fd 100644
--- a/common/messages.h
+++ b/common/messages.h
@@ -648,6 +648,16 @@ typedef struct SpiceMsgcDisplayPreferredCompression {
uint8_t image_compression;
} SpiceMsgcDisplayPreferredCompression;
+typedef struct SpiceVideoCodecPreferredRank {
+ uint8_t type;
+ uint8_t rank;
+} SpiceVideoCodecPreferredRank;
+
+typedef struct SpiceMsgcDisplayPreferredVideoCodecType {
+ uint32_t num_of_codecs;
+ SpiceVideoCodecPreferredRank codec_ranks[0];
+} SpiceMsgcDisplayPreferredVideoCodecType;
+
typedef struct SpiceMsgDisplayGlScanoutUnix {
int drm_dma_buf_fd;
uint32_t width;
diff --git a/spice.proto b/spice.proto
index 0bfc515..c4f1a62 100644
--- a/spice.proto
+++ b/spice.proto
@@ -706,6 +706,19 @@ flags32 gl_scanout_flags {
Y0TOP
};
+enum8 video_codec_rank {
+ DISABLED = 0,
+ SOFTWARE_DECODER,
+ HARDWARE_DECODER,
+ BOTH,
+ PREFERRED,
+};
+
+struct VideoCodecPreferredRank {
+ video_codec_type type;
+ video_codec_rank rank;
+};
+
channel DisplayChannel : BaseChannel {
server:
message {
@@ -984,6 +997,11 @@ channel DisplayChannel : BaseChannel {
} preferred_compression;
message {
+ uint32 num_of_codecs;
+ VideoCodecPreferredRank codec_ranks[num_of_codecs] @end;
+ } preferred_video_codec_type;
+
+ message {
} gl_draw_done;
};
--
2.9.3
More information about the Spice-devel
mailing list