[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#603699: ITP: celt051 -- The CELT codec v0.5.1



On Tue, Nov 16, 2010 at 04:08:02PM +0100, Patrick Matthäi wrote:

Hi!

[CELT for spice]
> Yeah I am aware of the celt _madness_ - I am one of the mumble
> maintainers..
>
> spice then has to be adjusted to support celt 0.9.

I strongly support this demand. It was wrong to use CELT in the first
place, these guys clearly state that everything may change whenever they
want (before the 1.0 release), and especially the API is unstable.

We had the same thing in jackd, and it's as simple as that: either
prepare for a moving target or don't use it.

Ok, now spice has ignored all warnings and "decided" to go for
celt-0.5.1 (for whatever reason).

Please forgive my ignorance, but I don't see why this means they'll have
to stick to it til the end of time. I might have missed something, but I
don't know a single spice user, so which backward compatibility are we
talking about?

Anyway, there's

   http://www.spice-space.org/docs/spice_protocol.pdf

and it says it's a draft, so I guess it can still be reworked. But
still, if you see section 7 and 8, you'll notice two constants:

   RED_PLAYBACK_DATA_MODE_RAW        = 1
   RED_PLAYBACK_DATA_MODE_CELT_0_5_1 = 2

And the mode constants are used in an uint32 (section 7.5).

So why on earth don't you simply define a
RED_PLAYBACK_DATA_MODE_CELT_0_9_whatever, make this number three and
that's it?

Ok, you'll lose backward compatibility to non-celt-0.9 installations
already deployed and not being able to update... but who's using them?
And who will be using them by 2011?

If there's such a legacy user base, then I suggest to embed your private
copy of celt-0.5.1 into the spice client source. For everyone else, it's
the wrong signal to expect any CELT version (below 1.0) to be widely
installed anywhere.

So strictly speaking: it's possible for spice to support more than one
celt version (as shown above) without ruining backward compatibility.
In Debian, only provide the newest celt version. If need be, embed
celt-0.5.1 into spice, but the other approach would be to entirely
ignore this 0.5.1 thing.

This way, there'll be support for newest celt with the fallback to raw
audio transfer (DATA_MODE_RAW).



Just my €0.02

-- 
mail: adi@thur.de  	http://adi.thur.de	PGP/GPG: key via keyserver


Reply to: