On Mon, May 09, 2011 at 11:22:03AM +0200, Christophe Fergeau wrote: > On Mon, May 09, 2011 at 12:14:52PM +0300, Alon Levy wrote: > > On Mon, May 09, 2011 at 11:04:47AM +0200, Christophe Fergeau wrote: > > > Hi, > > > > > > On Sun, May 08, 2011 at 03:38:17PM +0300, Alon Levy wrote: > > > > This problem has been raised multiple times on the list, you should > > > > read the > > > > archives. To recap: historically when spice had to choose a codec it > > > > chose the > > > > current celt then, 0.5.1. That celt is not compatible with newer celts. > > > > The > > > > decision was to wait for celt's on wire format to stabilize. This > > > > hasn't happened > > > > yet (perhaps it will happen soon). It is however possible to introduce > > > > support > > > > for multiple codecs and have the client and server negotiate. This will > > > > still not > > > > allow a celt 0.10.0 linked spice server to connect to celt 0.5.1 > > > > client, or vice > > > > versa. > > > > > > Celt 0.11.1 release announcement says > > > "CELT 0.11.0 (originally not announced) and 0.11.1 has been released with > > > a > > > focus on freezing the bit-stream and updating the API. The bit-stream is > > > now in "soft-freeze" state meaning there is an attempt to keep it fixed, > > > but some bugs may force changes" so if some codec negociation was > > > introduced, I'd target celt 0.11.1+ (explicitly noting that celt 0.11.1+ > > > support may be broken at any time if celt bitstream format has to change > > > before it's officially frozen). > > > > If we add the negotiation logic we can later add a third celt version > > Maintaince-wise, supporting celt 0.5.1 and celt "bitwise-stable" is already > 1 version too much, so it would be better to avoid having a 3rd one to > maintain ;)
I'm just saying, by amount of effort: some - client/server audio codec negotiation for playback and record channels 1. create some enum to track supported codecs 2. add required dispatching to correct callback struct for encoding/decoding minor - adding a new codec (we will already have some enum) 1. update enum 2. add another implementation of codec dispatcher Maintainence wise: add a print early on which codec we are using (in the server via monitor print, in the client). So an acceptable plan may be: 1. add CELT 0.5.1 and CELT 0.11.1 as supported codecs - time passes - 2. remove CLET 0.5.1 from the supported codecs (just by building spice server without it, and the supported enum list will be updated when not linking with CELT 0.5.1). > > Christophe > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel