Bluetooth Hands-Free Profile Service Library
The HFP for Linux package provides a low-level library, libhfp, that implements the smallest details of the hands-free side of the Bluetooth Hands-Free Profile. libhfp is written in C++, and is intended to be modular and independent of any specific application toolkit. libhfp can be integrated with the main event loop of Qt, glib, or any other toolkit with support for low-level events.
The HFP for Linux package includes two applications that make use of libhfp:
- hfpd, a D-Bus service daemon that uses libhfp and provides D-Bus APIs. Documentation for the D-Bus APIs is available in a separate document. hfpd is the backend for hfconsole, a PyGTK console application for controlling the D-Bus service daemon.
- hfstandalone, a demonstration monolithic speakerphone program built with libhfp and Trolltech Qt. hfstandalone uses its own instance of libhfp and operates independently of hfpd.
- Supports device scanning, connection, disconnection, and automatic reconnection
- Supports multiple concurrently connected audio gateway devices
- Resilient to loss of Bluetooth service
- Modular, event-driven backend
- All APIs are single-threaded, libhfp does not force its clients to be concerned with threading and synchronization
- Audio handling components are completely asynchronous
- Supports the ALSA and OSS audio hardware interfaces
- Supports microphone input cleanup, including echo cancellation and noise reduction
- Supports simple recording and playback of stored audio files, e.g. for recording calls and playing ring tones
- libbluetooth and BlueZ, the Linux Bluetooth stack
- libasound, the ALSA user-level audio library optional
- The OSS kernel-level audio interface optional
- libaudiofile, the SGI audiofile library optional
- libspeexdsp, the Speex signal processing library optional
- libdbus for hfpd
- PyGTK and dbus-python for the hfconsole app
- Trolltech Qt 3.3 for the monolithic demonstration app
Generated on Fri Jan 9 05:58:35 2009 for libhfp by