On May 5, 2008, at 6:58 PM, Jean-Marc Valin wrote:
> Joshua Gargus wrote:
>> Our app needs to support multiple media types, so GStreamer would
>> seem
>> to be the obvious choice. However, voice quality is paramount for
>> us. Are there any disadvantages to using the Speex plugin for
>> GStreamer as opposed to directly coding to the Speex API?
>
> Don't know gstreamer well, but I assume that not all encoding options
> are supported in gstreamer. If you only want the standard options
> (which
> is what I recommend unless you *know* you want something else), it
> should be the same. The decoder will likely work the same.
I think that the standard options should be fine.>
>
>> In
>> particular, does the GStreamer element fully support the echo-
>> cancellation and jitter-buffer features of Speex?
>
> I highly doubt it.
You're right (as confirmed by grepping the Speex-GStreamer sources).
Darn.
>
>
>> Are there any other
>> pitfalls that a naive developer (and new to both APIs) should be
>> aware
>> of?
>
> I assume your application is VoIP or something vaguely similar.
It's a virtual environment with VoIP built in. GStreamer is
attractive because we eventually want to have lip-synced video.
> In that
> case, the hardest thing to get right is doing the soundcard capture
> and
> playback without having a huge buffer, not getting xruns (skips).
Thanks, I'll make sure that I test for those.
Josh
>
>
> Jean-Marc