[Spice-devel] celt 0.5.1 dependency of spice

Alon Levy alevy at redhat.com
Mon May 9 02:51:21 PDT 2011


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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel



More information about the Spice-devel mailing list