RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents |
---|
Bluetooth in RDK, provides short range wireless connectivity between RDK devices and consumer electronics devices. RDK Bluetooth architecture is designed to support any Bluetooth stack.
The Bluetooth stack currently supports common Bluetooth profile such as A2DP, AVRCP, and can be extended to various profiles such as HID, PAN, etc.. Bluetooth may be enabled directly on capable RDK boxes or indirectly via USB-to-Bluetooth adaptor.
Bluetooth feature in RDK | Feature Descriptions |
---|---|
Audio Output Sources | Bluetooth audio may be different than HDMI audio (e.g. secondary audio program, application sourced audio such as Pandora, voice navigation audio, etc). |
Audio Output Routing | Detail PCM audio routing to Bluetooth A2DP SRC, It uses H/W accelerations, S/W processing, RMF involvement on streaming audio/video contents. |
Audio Encoding | Detail SBC (sub-band coding) and aptX encoding (Bluetooth chip, in software, or in SoC hardware). |
Audio Output Muting | The Bluetooth audio output may be muted independently of other audio outputs (e.g. HDMI) |
Audio Input (Settop as AD2P SNK) | Using RDK device speakers over bluetooth i.e transmitting audio input back to a speaker connected with RDK device. |
Dual Decode | Supports ability to simultaneously output one audio stream to HDMI and a different audio stream to Bluetooth |
Power Control | In future, the power state of each Bluetooth connected device and the Bluetooth subsystem can be controlled |
Audio/Video Remote Control Profile (AVRCP) | Controller (Remote Control) sends mute and volume commands to target. AV/C commands are defined by the 1394 trade association |
...
Service Manager –Bluetooth (Methods Details)
Service Manager APIs | Descriptions |
---|---|
getStatusSupport | Returns the current status of Bluetooth subsystem |
startDeviceDiscovery | Initiates device discovery |
stopDeviceDiscovery | Stops Bluetooth device discovery immediately |
getDiscoveredDevices | Returns the list of discovered devices |
getPairedDevices | Returns list of all paired device |
getConnectedDevices | Returns list of all connected devices |
setDeviceConnection | The method requests RDK to connect to Bluetooth device |
setAudioStream | Choose "PRIMARY" or "AUXILIARY" audio stream to be sent to audio sink |
setDevicePairing | Passes the device ID to connect |
setBluetoothEnabled | Application enables or disables Bluetooth feature |
setSinkDiscovery | This method enables set-top discovery by other Bluetooth devices. |
getDeviceInfo | device details |
Bluetooth –Service Manager Events
Bluetooth Events | Descriptions |
---|---|
statusChanged | Invoked when the status changes for Bluetooth functionality. The status can be enable/disable Bluetooth service, pairing status change, connection change, device discovery completed, etc. |
pairingRequest | Pairing is requested by third party device that supports A2DP profile. Prerequisite is that RDK device is enabled as A2DP Sink device |
pinRequest | PIN is required for a ‘pairing in progress’, application needs to update pairing screen with PIN info |
requestFailed | Indicates that a previous request to pair or connect has failed with the corresponding failure reason |
...
Some Bluetooth supported gstreamer plugins used by BlueZ 5:
Gstreamer Elements | Descriptions |
sbcenc | Bluetooth SBC (sub-band coding) encoder |
sbcdec | Bluetooth SBC (sub-band coding) decoder |
sbcparse | The sbcparse element will parse a Bluetooth SBC audio stream into frames and timestamp them properly |
avdtpsink | Bluetooth AVDTP sink |
a2dpsink | Bluetooth A2DP sink for streaming audio |
rtpsbcpay | RTP packet payload maker |
...