Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 1. Get Current Adapter
  • 2. Scan
  • 3. Show found devices
  • 4. Pair
  • 5. UnPair/Forget a device
  • 6. Show known devices
  • 7. Connect to Headset/Speakers
  • 8. Disconnect to Headset/Speakers
  • 9. Connect as Headset/Speakerst
  • 10. Disconnect as Headset/Speakerst
  • 11. Show all Bluetooth Adapters
  • 12. Enable Bluetooth Adapter
  • 13. Disable Bluetooth Adapter
  • 14. Set Discoverable Timeout
  • 15. Set Discoverable
  • 16. Set friendly name
  • 17. Check for audio sink capability
  • 18. Check for existance of a service
  • 19. Find service details
  • 20. Check if Device Paired
  • 21. Get Connected Dev Data path
  • 22. Release Connected Dev Data path
  • 23. Send SBC data to BT Headset/Speakers
  • 29. BT audio input test
  • 30. install agent for accepting connections NoInputNoOutput
  • 31. install agent for accepting connections DisplayYesNo
  • 32. Accept a connection request
  • 33. Deny a connection request
  • 34. Register connection callback to allow accepting or rejection of connections.
  • 35. Uninstall agent - allows device-initiated pairing
  • 88. debug test
  • 99. Exit

Sequence of Steps

  • User can use option 2 to start a device scan. The scan takes about 10 seconds to complete, then use option 3 to see the list of devices that the settop found.  If your device is in the list, you can use option 4 to perform a pairing.  In some cases, you may have to confirm the pairing on the tablet/phone.Once the device is paired, the next step is to establish an audio connection between the settop and your source device (e.g. tablet).
  • In most cases, the connection must be initiated from the source device.  Ubuntu is an exception to this, so if playing music from Ubuntu, you can start the connection from the settop.  To do this, use option 9.  You may have to confirm the connection on Ubuntu.
  • If you are initiating the connection from the tablet, you must first start an agent.  The agent allows accepting of connections from remote devices.  You can do this using option 31. After invoking option 31, connect to the settop from your tablet.

Note, the agent seems to inhibit pairing from the settop, so if you need to pair more devices from the settop, you can use option 35 to unregister the agent.

  • Once you have connected the device once (during the settop lifetime or with the device in persistent memory) you will not need to use the agent again.  The connection will automatically be established upon attempt by Bluez, with no agent required.
  • Optionally, before attempting to connect, you can run option 34 to install an authentication callback.  This allows the settop to accept or refuse the connection from the tablet. If you run option 34, then attempt a first time connection from a tablet, you will be prompted to enter option 32 to accept, or 33 to deny the request.
  • Once connected, you can start your player on your tablet. There is an option 29 in the btrCoreTest menu that retrieves data from Bluetooth, and pipes it into a gst-launch command to start the gstreamer elements to perform playback.  However, it is not a full gstreamer implementation.  To run the full gstreamer implementation, use the btrMgrStreamOutCoreTest, after first having paired and connected the device.

btrMgrStreamOutCoreTest

The current btrMgrStreamOutCoreTest having following option in RDK

...

Gstreamer contains several plugins for the Bluetooth In process. The gstreamer used is version 1.0.

The pipleline is as follows:

rtpsbcdepay à sbcparse à sbcdecode à brcmpcmsink

...


Code Block
titlePipeline
rtpsbcdepay | sbcparse | sbcdecode | brcmpcmsink
rtpsbcdepay: takes RTP encapsulated data from Bluetooth, and removes the RTP headers.  The payload is sbc encoded data.


Note it has been observed that some devices such as Ubuntu and the iPhone 5s use a constant RTP packet size, whereas some Samsung tablets have been observed to use a variable RTP packet size.

...