From: Victor Toso <me@xxxxxxxxxxxxxx> Hi! So, another try on this. There is a FIXME in the last patch, related to changing the ranks dinamically and the implications on the current implementation. As always, many thanks for comments! Changes: v1->v2: * removing rank value from client-side (teuf by IRC) - The rationale is that, having the codec-type in order of preference is already enough and less complicated. In both approaches, spice-server is the one who will chose the video-codec but by not having ranking, we don't have to deal with a situation where two video codecs has the same rank which means some extra logic in server to pick one - The external API spice_display_change_preferred_video_codec_type() should work in the same way, we just put the preferred codec in front of every other codec; * storing the client-side preferred video codecs should be per client/session (freddy) - in V1, the preferred message from previous client would affect new client for which video-codec should be chosen * Removed non necessary new structures; SpiceVideoCodecRank is simply a integer (server-side only) instead of enum; * New message should be reallocated to the end (after gl_draw_done) (freddy) Cheers, toso [spice-protocol] Victor Toso (1): protocol: add preferred video codec message spice/enums.h | 1 + spice/protocol.h | 1 + 2 files changed, 2 insertions(+) [spice-common] Victor Toso (1): protocol: add preferred video codec message common/messages.h | 5 +++++ spice.proto | 5 +++++ 2 files changed, 10 insertions(+) [spice-gtk] Victor Toso (3): Update spice-common channel-display: implement preferred video codec msgc spicy: implement preferred video codec type configure.ac | 2 +- doc/reference/spice-gtk-sections.txt | 1 + spice-common | 2 +- src/channel-display.c | 37 ++++++++++++++++++++++++++++++++ src/channel-display.h | 1 + src/map-file | 1 + src/spice-glib-sym-file | 1 + src/spicy.c | 41 ++++++++++++++++++++++++++++++++++++ 8 files changed, 84 insertions(+), 2 deletions(-) [spice-server] Victor Toso (4): Update spice-common reds: set video codec in a different function reds: add support to ranks for video codecs dcc: handle preferred video codec message configure.ac | 2 +- server/dcc-private.h | 2 ++ server/dcc.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ server/dcc.h | 1 + server/display-channel.c | 1 + server/reds.c | 54 +++++++++++++++++++++++++++++++--------- server/stream.c | 9 +++++-- server/video-encoder.h | 1 + spice-common | 2 +- 9 files changed, 121 insertions(+), 16 deletions(-) -- 2.9.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel