[jitsi-dev] GTK look-and-feel and PulseAudio


#1

Yana, Lyubomir,

thanks for these enhancements. Jitsi looks much better now when running
inside KDE, the font settings are ok, great!!

Same goes to the PluseAudio enhancement. It's a much better integration
into the audio systems given the long standing problems we had with the
Portaudion/Alsa combo. The PulsAudio mixer shows the streams as Jitsi
stream now, great!!

Just small remarks/questions:

- the volume slider does not show any effects, thus you cannot control the
  volume anymore. The slider itself shows as a native GTK slider now.

- When testing with Iptel's echo service with G.711 I always have a little
  background noise, sort of "pink noise" if the mic is switched on, sometimes
  soft audiable "clicks". My assumption is that it is caused by the down
  sampling. AFAIK Jitsi uses a 48 (or 44.1?) kHz capture from PulseAudio and
  then uses software to down-sample to 8kHz. Which part of the software
  performs this downsampling? ffmpeg or some Java code inside Jitsi? Most
  sound cards provide native 8kHz sampling: would it make sense (and is this
  supported by PulseAudio) to directly use/instruct the hardware to sample with
  the required frequency and only if this is not possible use the software
  down-sample approach?

- Iptel's music service is now crisp and clear, only real network problems may
  cause small glitches. Only at the very beginning of a call (1-2 seconds) the
  audio quality may suffer a bit until the RTP packets "paved" a way through
  the endless universe of the net :slight_smile: .

Thanks again for these real fine enhancements.

Best regards,
Werner


#2

Dear Werner,

thanks for these enhancements. Jitsi looks much better now when running
inside KDE, the font settings are ok, great!!

Same goes to the PluseAudio enhancement. It's a much better integration
into the audio systems given the long standing problems we had with the
Portaudion/Alsa combo. The PulsAudio mixer shows the streams as Jitsi
stream now, great!!

Thank you very much for the prompt feedback!

- the volume slider does not show any effects, thus you cannot control the
volume anymore. The slider itself shows as a native GTK slider now.

The volume control was not implemented for the PulseAudio backend. In
response to your report, it has been implemented using the native
PulseAudio API. Unfortunately, java.net is currently down so the
commit will arrive later.

AFAIK Jitsi uses a 48 (or 44.1?) kHz capture from PulseAudio and
then uses software to down-sample to 8kHz.

In the case of the PulseAudio backend, Jitsi captures at 32 kHz which
is the maximum sampling rate utilized by the supported audio formats.

Which part of the software
performs this downsampling? ffmpeg or some Java code inside Jitsi?

The resampling is handled by the native Speex library integrated into
Jitsi. In other words, Jitsi's SpeexResampler class.

Most
sound cards provide native 8kHz sampling: would it make sense (and is this
supported by PulseAudio) to directly use/instruct the hardware to sample with
the required frequency and only if this is not possible use the software
down-sample approach?

The culprit is Jitsi's AudioMixer class which does not currently
support switching from one sampling rate to another sampling rate once
it has been initialized. Since we can turn an ordinary one-to-one call
into a conference call and have different sampling rates with the
different participants, we try to capture at the best sampling rate in
terms of quality and we downscale if necessary. Otherwise, we could
start a call, for example, at 8 kHz, then add a new participant at 24
kHz and we'd have to upsample from 8kHz to 24 kHz which would be
futile. Anyway, we're still looking for ways to improve the situation.

Best regards,
Lyubomir Marinov

···

2012/5/6 Werner Dittmann <Werner.Dittmann@t-online.de>:


#3

Lyubomir,

Dear Werner,

In the case of the PulseAudio backend, Jitsi captures at 32 kHz which
is the maximum sampling rate utilized by the supported audio formats.

...
just a short follow up question: at the receving end: does Jitsi sample
up to 32kHz or to another frequency?

...

The culprit is Jitsi's AudioMixer class which does not currently
support switching from one sampling rate to another sampling rate once
it has been initialized. Since we can turn an ordinary one-to-one call
into a conference call and have different sampling rates with the
different participants, we try to capture at the best sampling rate in
terms of quality and we downscale if necessary. Otherwise, we could
start a call, for example, at 8 kHz, then add a new participant at 24
kHz and we'd have to upsample from 8kHz to 24 kHz which would be
futile. Anyway, we're still looking for ways to improve the situation.

...
Ok, thanks.

Best regards,
Lyubomir Marinov

Best regards,
Werner

···

Am 07.05.2012 17:11, schrieb Lyubomir Marinov:

2012/5/6 Werner Dittmann <Werner.Dittmann@t-online.de>:


#4

Resampling is performed at the receiving end to convert the received
sample rate to the sample rate of the AudioMixer. The target sample
rate is 32 kHz in the case of PulseAudio (and it is likely different
in the case of PortAudio).

···

2012/5/7 Werner Dittmann <Werner.Dittmann@t-online.de>:

just a short follow up question: at the receving end: does Jitsi sample
up to 32kHz or to another frequency?