August 12, 2008
This article was contributed by Ian Ward
On July 23 Marcel Holtmann delivered a presentation on the state of
Audio Streaming over Bluetooth
at the 2008 Linux Symposium in Ottawa.
Holtmann's background involves working on improving Linux Bluetooth
audio support for laptops and embedded systems such as cell phones.
Marcel expressed frustration with the complexity of the Bluetooth specifications
which include approximately 20 protocols and 40 profiles. Profiles include things like
mono headsets, in-car usage and high quality stereo headphones. There are protocols
for serial device emulation, phone book access, caller ID information, text messaging and
multiple options for audio and video.
Bluetooth defines separate protocols for streaming and control, such as skipping tracks,
seeking within tracks, and displaying
ID3
information. Having these aspects split into different
protocols was called "messy" because they are always used together.
Mono headsets are supported by the Synchronous Connection Oriented link (SCO), while
the Advanced Audio Distribution Profile (A2DP) is designed for high quality stereo audio.
For audio compression Bluetooth defines a royalty-free SubBand-Codec (SBC) to avoid
fees for use of common codecs like MP3 and AAC. All A2DP devices must support
SBC, but many also support decoding MP3 and AAC as well.
Linux's SBC support was initially very poor, but some developers from the Instituto Nokia de Tecnologia in Brazil stepped up to improve encoding and now the the LGPL SBC
implementation rivals some of the
best commercial implementations.
Early Bluetooth headset support in Linux involved copying all the audio data over
sockets from the application to the Bluetooth daemon. The daemon would then copy the
data again to the device, causing unnecessary CPU usage and increasing latency. The current
design works by setting up channels and connecting external applications directly
to the device sockets. Marcel also mentioned investigating
a shared memory approach for better performance at the cost of some extra complexity.
Adding support for a Bluetooth audio device is
quite different than for standard audio hardware — compressed data must be sent directly to the
devices, possibly with ID3 and other information. If the audio being played is in a format
that a device does not support it must be decoded and re-encoded first. Bluetooth devices will also
appear and disappear while audio is being played.
Marcel on
ALSA:
"I won't touch it anymore." ALSA's primary failing is that it wasn't designed
to support virtual devices.
He is also not convinced that the current direction of PulseAudio is suitable for
Bluetooth audio, in particular there is no support for
changing codecs while audio is being sent to a device.
GStreamer,
however can support the concept of virtual devices, sending
out encoded data and sending ID3 information when required.
If a file format is supported by a Bluetooth device,
GStreamer can easily be told to send it as-is without re-encoding it.
It can also handle the passing off of the encoding and decoding tasks
to special hardware, which is commonly required for embedded systems.
Future work includes adding more intelligence to the handling of
control signals.
When the user presses Pause and there are multiple devices and streams
active, which stream should be affected?
The current implementation applies the action to all streams,
but it may be better to be able to tell which control device is
associated with which stream.
There is also ongoing work to support new hardware.
Marcel has had some issues with headsets that are very sensitive
to timing, but don't provide enough timing information to reliably
fix. There have also been some problems supporting
"Enhanced" Synchronous Connection-oriented (eSCO) Links
due to vendors that are unwilling to cooperate with the developers.
For more information on Bluetooth development see Marcel's OLS Paper [pdf] and
BlueZ.org, the site for the
official Linux Bluetooth protocol stack.
Comments (7 posted)
System Applications
Database Software
Version 5.0.67 of MySQL Community Server has been announced.
"
The following section lists important, incompatible and security
changes since the previous MySQL Community Server 5.0.51b release..."
Full Story (comments: none)
The August 10, 2008 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Version 3.6.1 of SQLite, a light weight DBMS, has been
announced.
This version adds new features, improves performance and fixes some bugs.
Comments (none posted)
Security
Version 1.0 of OpenVAS has been announced.
"
The OpenVAS project is proud to announce the release of the first stable
version of the 'Open Vulnerability Assessment System'. OpenVAS is a fork of
the Nessus security scanner; while Nessus switched to a proprietary license,
OpenVAS will continue to improve the scanner and will provide all components
as Free Software."
Full Story (comments: none)
Virtualization Software
The Open OVF project has been launched.
"
Hi folks, we are announcing the availability of source code for the
open-ovf project.
OVF is a standard packaging format for virtual machines and software
appliances. The open-ovf project is seeking contributors and users to
help establish OVF as a transparent and platform-neutral method for
packaging virtual machine images.
We anticipate being able to deploy a single OVF package to either Xen
or KVM. Eventually expanding that list to include VMware, Hyper-V, and
other platforms. Getting to that point will require community
contributions."
Full Story (comments: none)
Version 3.0.0 of
Jikes RVM has been announced, it includes a number of new capabilities.
"
Jikes RVM (Research Virtual Machine) provides a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives. The system is licensed under an OSI approved license. Jikes RVM runs on many platforms and advances the state-of-the-art of virtual machine technologies for dynamic compilation, adaptive optimization, garbage collection, thread scheduling, and synchronization."
Full Story (comments: none)
Web Site Development
Version 0.9.6 of Catacomb has been
announced.
"
Catacomb is a WebDAV repository module for use with the Apache WebDAV module, mod_dav. Apache mod_dav parses WebDAV and DeltaV protocol requests into operations on a repository providing persistent storage of resources and their properties. The default repository for mod_dav is provided by a separate module, mod_dav_fs, which stores resource bodies as files in the filesystem, and stores properties in a (G)DBM database.
The Catacomb team is happy to announce the newest version 0.9.6.
The new version 0.9.6 is the first version which supports database abstraction using mod_dbd from Apache 2.2.X."
Comments (none posted)
Version 1.0 alpha 2 of the Django web development platform has been
announced.
"
In accordance with the Django 1.0 release roadmap, tonight we've released the second "alpha" testing version of Django 1.0.
To grab a copy of 1.0 alpha 2, head over to the Django downloads page, and be sure to read the
release notes. Please keep in mind, though, that this release is not meant for production use, and is intended primarily for developers who are interested in checking out the new features in 1.0 and helping to identify and resolve bugs prior to the final release."
Comments (none posted)
Miscellaneous
Version 8.08 of Genode OS Framework has been
announced.
"
The Genode operating-system framework extends existing kernels (e.g., microkernel or hypervisor) and provides a uniform API for applications. Currently, L4/Fiasco and Linux are supported.
The initial version of the Genode OS Framework is available for download."
Comments (none posted)
Desktop Applications
Business Applications
Version 1.0 of Chandler has been announced.
"
The Chandler Project is pleased to announce the release of Chandler
Desktop 1.0!
The Chandler Project is an open source, standards-based information
manager designed for personal use and small group collaboration.
For more information on the Chandler Desktop 1.0, including the major
changes we've made since the previous full release, 0.7, see the
following blog post:
http://blog.chandlerproject.org/2008/08/08/chandler-10/"
Full Story (comments: none)
Version 0.70.2 of Task Coach, a hierarchical
task manager, has been announced.
"
This release fixes some bugs and brings back the Fedora RPM."
Full Story (comments: none)
Desktop Environments
Version 2.23.6 of the GNOME desktop environment has been announced.
"
FREEEEEEEZZZZZZZZZEEE! That's it. We're feature frozen now. This means
what you have in 2.23.6 is a good approximation of what you'll get in
2.24.0."
Full Story (comments: none)
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
The July 27, 2008 edition of the
KDE Commit-Digest has been
announced.
The content summary says:
"
In this week's KDE Commit-Digest: Support for hiding/showing system icons in
Plasma, support for using the native Windows start menu where appropriate,
with more work in the "Previewer" applet and "TabBar". Better filtering
support in the "FolderView" applet. Various work toward Amarok 2, including
visual changes, work on playlists, and initial support for MTP devices. Work
on a welcome screen in Parley. Initial commit of a "Sky Calendar" tool in
KStars. A Twitter plugin in Marble..."
Comments (none posted)
The following new Xorg software has been announced this week:
More information can be found on the
X.Org Foundation wiki.
Comments (none posted)
Financial Applications
Version 1.2.14 of LedgerSMB, a web-based accounting system,
has been announced.
"
This is a maintenance release which includes bugfixes only."
Full Story (comments: none)
Games
Version 1.1 of pyglet has been announced, it adds a number of new features.
"
pyglet provides an object-oriented programming interface for
developing games and other visually-rich applications for Windows, Mac
OS X and Linux."
Full Story (comments: none)
Multimedia
Version 0.5.5 of Elisa Media Center has been announced.
"
An accent has been put on stability during this release cycle which
resulted in 18 bugs fixed.
We have also introduced new features and re-introduced some that were in
the 0.3.x series and had not been ported to the new architecture yet."
Full Story (comments: none)
Music Applications
Version 0.8.0 of klick and version 0.1.0 of gtklick have been announced.
"
klick 0.8.0 is out, as well as the first release of its GUI frontend,
gtklick.
klick is an advanced command-line based metronome for JACK. Features include
tempo maps, four built-in sounds to choose from, JACK transport support,
and a lot more."
Full Story (comments: none)
Version 1.6.0 of Mixxx has been announced.
"
Mixxx is currently the most popular open source djing software
package, providing everything you need to make your mixes in a
completely open source environment.
The Mixxx development team is proud to announce the release of version
1.6.0, representing 16 months of development. It is available for
Linux, Intel Mac and Windows."
Full Story (comments: 1)
Word Processors
Version 1.22 of Anaphraseus has been
announced, it includes some new capabilities and bug fixes.
"
Anaphraseus is a CAT (Computer Aided Translation) tool, OpenOffice.org 2 macro set similar to famous Wordfast. Works with Wordfast Translation Memory format (*.TXT). Supports text segmentation. Features: Term Recognition. Fuzzy Search. Unicode support."
Comments (none posted)
Miscellaneous
Version 0.3 (the initial release) of T-Rex has been
announced.
"
T-Rex (Trainable Relation Extraction) is a highly configurable machine learning-based Information Extraction from Text framework, which includes tools for document classification, entity extraction and relation extraction."
Comments (none posted)
Languages and Tools
C
The August 8, 2008 edition of the GCC 4.3.2 Status Report
has been published.
"
The GCC 4.3 branch is open for commits under normal release branch
rules. We are trying to drive towards a 4.3.2 release, but there are
still two P1s..."
Full Story (comments: none)
The August 8, 2008 edition of the GCC 4.4.0 Status Report
has been published.
"
It's time to start moving GCC 4.4.0 towards a release, with a release
target date in Q4 2008 or Q1 2009. We have had an extraordinarily long
Stage 1 in order to allow development of a variety of important
functionality, including the IRA register allocator, tuples, the
Graphite loop optimization functionality, and many other important
projects. Most of these are either done, or appear to be nearing
conclusion. So, we've got plenty of new functionality, and it's time to
start driving towards a release."
Full Story (comments: none)
PHP
Version 4.4.9 of
PHP has been announced.
"
The PHP development team would like to announce the immediate availability of PHP 4.4.9. It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last PHP 4.4 release."
See the
change log
for more details on the bugs fixed in this release.
Comments (none posted)
Python
Version 1.6.4 of pycairo, a set of Python bindings for the Cairo multi-platform 2D graphics library, has been announced.
It features a number of new methods and some bug fixes.
Full Story (comments: none)
The August 12, 2008 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
IDEs
Version 4.2.0 of eric, an IDE for Python and Ruby, has been announced.
Numerous enhancements have been made, click below for more information.
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>