[sip-comm-dev] Low latency efforts


#1

Hi guys,

I commited the java-part of the code for the new ALSA-based datasource.
It is mostly a wrapper to libjmf_alsa.so that I also committed in
lib/native/linux and does direct input/output with the alsa subsystem.

The main point in this datasource is that we are able to capture data
chunks of 10ms length, shrinking the capture latency overhead to only
10ms ! In addition, downsampling is handled very efficiently by the ALSA
library, and no more by JMF. Which means that we are taking advantage of
the extremely optimized ALSA code.

The C code will be commited later, in src/native/linux/libjmf_alsa/ if
some people agree that it is a good place to put it. By the way, the
target library name is libjmf_alsa.so hence the name.

There are still many things to be done on this front, from enumeration
and GUI configuration to real latency tests. If someone feels like
measuring latency using the new datasource and the legacy JMF
datasource, we can discuss plans and so on.

Cheers,

Jean

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi Jean

Just a question relating to the alsa subsystem - I run on linux and when you do a jmf detection for capture devices, all I get is 'JavaSound audio capture'. If I run the Ekiga softphone, for instance, I get a choice of usb and bluetooth devices for both audio and video.

Do you think that you might eventually also add support for device detection to your jmf_alsa library?

Cheers
Nick

···

From: Jean Lorchat <lorchat@sfc.wide.ad.jp>
Reply-To: dev@sip-communicator.dev.java.net
To: dev@sip-communicator.dev.java.net
Subject: [sip-comm-dev] Low latency efforts
Date: Mon, 12 Mar 2007 11:07:32 +0900

Hi guys,

I commited the java-part of the code for the new ALSA-based datasource.
It is mostly a wrapper to libjmf_alsa.so that I also committed in
lib/native/linux and does direct input/output with the alsa subsystem.

The main point in this datasource is that we are able to capture data
chunks of 10ms length, shrinking the capture latency overhead to only
10ms ! In addition, downsampling is handled very efficiently by the ALSA
library, and no more by JMF. Which means that we are taking advantage of
the extremely optimized ALSA code.

The C code will be commited later, in src/native/linux/libjmf_alsa/ if
some people agree that it is a good place to put it. By the way, the
target library name is libjmf_alsa.so hence the name.

There are still many things to be done on this front, from enumeration
and GUI configuration to real latency tests. If someone feels like
measuring latency using the new datasource and the legacy JMF
datasource, we can discuss plans and so on.

Cheers,

Jean

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

_________________________________________________________________
Match.com - Click Here To Find Singles In Your Area Today! http://msnuk.match.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Hi Nick,

This is definitely planned. Currently, the capture happens on the very
first device (that is hw:0.0 from alsa point of view). But I plan to
support all ALSA device registered.

Ideally, you could choose which one to use in the settings menu,
although we also plan to support some kind of "smart" default choice for
non-expert users. I don't know about Bluetooth audio devices status
exactly, but USB will definitely work (I tested it already with my usb
quikcam). If BT audio devices register an ALSA audio device then it will
also work. If you have such equipment, it will be nice to have feedback
from you when device settings is implemented.

Cheers,
Jean

buzz lightyear wrote:

···

Hi Jean

Just a question relating to the alsa subsystem - I run on linux and when
you do a jmf detection for capture devices, all I get is 'JavaSound
audio capture'. If I run the Ekiga softphone, for instance, I get a
choice of usb and bluetooth devices for both audio and video.

Do you think that you might eventually also add support for device
detection to your jmf_alsa library?

Cheers
Nick

From: Jean Lorchat <lorchat@sfc.wide.ad.jp>
Reply-To: dev@sip-communicator.dev.java.net
To: dev@sip-communicator.dev.java.net
Subject: [sip-comm-dev] Low latency efforts
Date: Mon, 12 Mar 2007 11:07:32 +0900

Hi guys,

I commited the java-part of the code for the new ALSA-based datasource.
It is mostly a wrapper to libjmf_alsa.so that I also committed in
lib/native/linux and does direct input/output with the alsa subsystem.

The main point in this datasource is that we are able to capture data
chunks of 10ms length, shrinking the capture latency overhead to only
10ms ! In addition, downsampling is handled very efficiently by the ALSA
library, and no more by JMF. Which means that we are taking advantage of
the extremely optimized ALSA code.

The C code will be commited later, in src/native/linux/libjmf_alsa/ if
some people agree that it is a good place to put it. By the way, the
target library name is libjmf_alsa.so hence the name.

There are still many things to be done on this front, from enumeration
and GUI configuration to real latency tests. If someone feels like
measuring latency using the new datasource and the legacy JMF
datasource, we can discuss plans and so on.

Cheers,

Jean

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

_________________________________________________________________
Match.com - Click Here To Find Singles In Your Area Today!
http://msnuk.match.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

This is definitely planned. Currently, the capture happens on the very
first device (that is hw:0.0 from alsa point of view). But I plan to
support all ALSA device registered.

Ideally, you could choose which one to use in the settings menu,
although we also plan to support some kind of "smart" default choice for
non-expert users. I don't know about Bluetooth audio devices status
exactly, but USB will definitely work (I tested it already with my usb
quikcam). If BT audio devices register an ALSA audio device then it will
also work. If you have such equipment, it will be nice to have feedback
from you when device settings is implemented.

Great news - believe me, you don't have to ask me to give you feedback on this!

Cheers
Nick

···

_________________________________________________________________
Solve the Conspiracy and win fantastic prizes. http://www.theconspiracygame.co.uk/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net