Hi, On Tue, Dec 13, 2016 at 06:10:17PM +0100, Francois Gouget wrote: > On Tue, 13 Dec 2016, Victor Toso wrote: > [...] > > > Why do you need a rank? > > > > To be able to select video-codecs based on both host and client > > preferences. > > I guess that by client you mean the Spice client (spice-gtk). Any client.. but yeah, I'll implement things in spice-gtk. > Assuming that's desired, then what you need is a way for the Spice > client to express preferences. Currently it cannot because all it > sends to the server is the list of supported codecs as an unordered > capabilities set. So you'll need to add some sort of message to send a > preference list. That list can be in the same format as on the server, > that is an ordered semi-colon separated list of encoder:codec pairs. Too complex. Client should not care about the encoders in host, only about the codecs it can decode and some sort of preference order. The version that I plan to send tomorrow is just an array with the order of video codecs that client prefer. > Then armed with both the server's and client's preferences you > determine which encoder:codec to use. > > So I see no need for a rank. Given the encoder:codecs we need to say, from host point of view: 1-) which one is enabled/disabled 2-) which one should I try to encode *first* A rank is super simple for that. Set a encoder:codec to 0 to say it is disabled. If you say that default rank value is 1, any codec with higher value then 1 should be tried first. Not sure what is the problem with rank. > Then there's the issue of whether to pick an encoder:codec pair based > on the server administrator's wants, or based on the user of the Spic > client's wants. > > Given that encoding is pretty resource intensive and performed on the > server I consider that the server administrator's preferences should be > given priority, hence the current scheme where we have a preference list > on the server and simple capabilities for the client. Yes, there were some discussion on IRC about preference for encoding. The Admin/host will have preference, always. The message about client's preference will sort without changing the rank in spice-server... an example is always much easier to follow: 1-) gstreamer:mjpeg:0;gstreamer:h264:1;gstreamer:vp8:1;spice:mjpeg:1 -> gstreamer:mjpeg is disabled -> h264, vp8, spice:mjpeg has the same rank 2-) client sends: vp8, mjpeg, h264 -> array order in spice: gstreamer:vp8, spice:mjpeg, gstreamer:h264 -> gstreamer:mjpeg is still disabled Many thanks for your input! Cheers, toso
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel