[Spice-devel] Usage of Celt library with Spice...

Christophe Fergeau cfergeau at redhat.com
Fri Oct 28 01:08:24 PDT 2011


Hi,

On Thu, Oct 27, 2011 at 05:01:51PM -0700, Naga Mohan Pothula wrote:
> I noticed celt 0.11.1 had released but still spice uses
> celt 0.5.1.3 which is very old version.It is clearly mentioned in
> Building instruction at wiki.   celt = 0.5.1.3 (this is important, newer
> versions use a different protocol)
> 
> Is there any specific reason why spice still uses celt 0.5.1.3?

The problem with celt is that they don't guarantee that the audio data
generated by celt version X can be decoded by version Y. This means that
the server running a spiced VM and the client connecting to this VM need to
use exactly the same CELT version if we want to be 100% sure they'll
understand each other.

We decided to arbitrarily settle on the 0.5.1.3 version because it's what
was current at the time this decision was made. Since we want clients to be
able to communicate with older servers, upgrading to the latest CELT
version would be a bit of work.

However, they recently (with the 0.11.1 version or so) announced that the
bitstream format (the format of the audio data) would be stable from now on
*unless they encounter a critical flaw in it* which would force them to
change it. In my opinion, this means it would make sense to start adding
support for this format, marking it experimental until the bitstream is
officially frozen, and keeping the 0.5.1.3 support. The protocol includes
capability checks so this would be doable.

Last but not least, I'm not sure where CELT is going these days, as I
understand it it's being merged into OPUS and all work is being done there.

Hope that helps,

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20111028/553f385f/attachment.pgp>


More information about the Spice-devel mailing list