[Spice-devel] RFC on sound codec refactoring

Marc-André Lureau mlureau at redhat.com
Fri Oct 4 20:09:19 CEST 2013



----- Original Message -----
> Attached (sorry :-/) are two patches that express my current plan for
> supporting Opus (and other codecs as well).
> 
> Essentially, I abstract out the celt functionality into a spice-common
> shared library; snd_codec.c.  I then implement the server and client
> using that logic.
> 
> The patches attached seem to Work For Me [1].  The goal was to use the
> new abstraction without changing functionality.  They do have the side
> effect of making celt optional, which will make the Debian guys happy.
> 
> I know of two flaws, currently.
> 
> First, the computation of the frame size is unsatisfying.  Opus is going
> to require a different frequency, hence a different frame size.  I've
> started abstracting it, but I want to dig more into Opus before I
> finalize an approach.
> 
> Second, the current client does not record correctly in celt mode.  I
> get a stuttered recording when I use that.  The gtk code works fine.  In
> my testing, this is true both with and without this patch set.  But it's
> still an unsatisfying result :-/.

You mean it's stuttering with the old spicec client but not with spice-gtk?

Feel free to not touch spicec, it's really no longer maintained - but feel free to fix it too :). in fact I would prefer if you could verify your "common" code with spice-gtk, but I understand if you prefer to let someone else do it ;)

> I would appreciate comments and feedback, particularly if there is
> anything that seems obviously wrong to others.

I like this approach (I am just worried about the opus integration and dealing with various compiled in/out versions of server and client)

> If this approach seems viable, I'll work on adding Opus support, and
> then also revise the gtk implementation to use the new code.

Iirc, Christophe also did some work on Opus support, but he got stucked because of necessary resampler. I don't know the details, but I am sure he will reply.


More information about the Spice-devel mailing list