This proposes a new D-Bus API to be used by the BAP Broadcast Assistant role. The BAP Broadcast Assistant is a Master device that can have multiple connections with BAP Scan Delegators. The Broadcast Assistant has the UI to start scanning, enumerate Broadacast Sources, allow the user to select a desired Source and send the stream information to one of the peers. If the selected stream is encrypted and the peer requires a Broadcast Code to decrypt the stream, the user should issue a command to send the code. A new D-Bus API is necessary to allow the BAP Broadcast Assistant implementation in BlueZ to communicate with a top level UI process. The Broadcast Assistant in BlueZ should register a D-Bus object for each scanned BIS that matches the Audio capabilities of a peer. Each object should be linked with the stream and the peer device that matches the stream capabilities. The top level process should detect these objects and display the information to the user. The user can issue commands to select an object or to provide the Broadcast Code for an object. More information on the proposed design can be found here: https://github.com/orgs/bluez/discussions/822 --- Makefile.am | 6 ++--- doc/org.bluez.MediaSetup.rst | 45 ++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 doc/org.bluez.MediaSetup.rst diff --git a/Makefile.am b/Makefile.am index 0ae721111..217e7d2e4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -362,7 +362,7 @@ man_MANS += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \ man_MANS += doc/org.bluez.Media.5 doc/org.bluez.MediaControl.5 \ doc/org.bluez.MediaPlayer.5 doc/org.bluez.MediaFolder.5 \ doc/org.bluez.MediaItem.5 doc/org.bluez.MediaEndpoint.5 \ - doc/org.bluez.MediaTransport.5 + doc/org.bluez.MediaTransport.5 doc/org.bluez.MediaSetup.5 man_MANS += doc/org.bluez.GattManager.5 doc/org.bluez.GattProfile.5 \ doc/org.bluez.GattService.5 \ doc/org.bluez.GattCharacteristic.5 \ @@ -395,7 +395,7 @@ manual_pages += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \ manual_pages += doc/org.bluez.Media.5 doc/org.bluez.MediaControl.5 \ doc/org.bluez.MediaPlayer.5 doc/org.bluez.MediaFolder.5 \ doc/org.bluez.MediaItem.5 doc/org.bluez.MediaEndpoint.5 \ - doc/org.bluez.MediaTransport.5 + doc/org.bluez.MediaTransport.5 doc/org.bluez.MediaSetup.5 manual_pages += doc/org.bluez.GattManager.5 doc/org.bluez.GattProfile.5 \ doc/org.bluez.GattService.5 \ doc/org.bluez.GattCharacteristic.5 \ @@ -475,7 +475,7 @@ EXTRA_DIST += doc/org.bluez.Adapter.rst doc/org.bluez.Device.rst \ EXTRA_DIST += doc/org.bluez.Media.rst doc/org.bluez.MediaControl.rst \ doc/org.bluez.MediaPlayer.rst doc/org.bluez.MediaFolder.rst \ doc/org.bluez.MediaItem.rst doc/org.bluez.MediaEndpoint.rst \ - doc/org.bluez.MediaTransport.rst + doc/org.bluez.MediaTransport.rst doc/org.bluez.MediaSetup.rst EXTRA_DIST += doc/org.bluez.GattManager.rst doc/org.bluez.GattProfile.rst\ doc/org.bluez.GattService.rst \ diff --git a/doc/org.bluez.MediaSetup.rst b/doc/org.bluez.MediaSetup.rst new file mode 100644 index 000000000..7463d7cfb --- /dev/null +++ b/doc/org.bluez.MediaSetup.rst @@ -0,0 +1,45 @@ +======================= +org.bluez.MediaSetup +======================= + +------------------------------------------- +BlueZ D-Bus MediaSetup API documentation +------------------------------------------- + +:Version: BlueZ +:Date: June 2024 +:Manual section: 5 +:Manual group: Linux System Administration + +Interface +========= + +:Service: org.bluez +:Interface: org.bluez.MediaSetup1 +:Object path: /org/bluez/{hci0,hci1,...}/src_XX_XX_XX_XX_XX_XX/dev_YY_YY_YY_YY_YY_YY/bisZ + +Methods +------- + +void Select() +```````````````````````````````````````````````````````` + + Send stream information to the remote device. + +void SetBcode(array{byte} broadcast_code) +````````````````````````````````````````````````````````` + + Send Broadcast_Code to the remote device. + +Properties +---------- + +string State [readonly] +``````````````````````` + + Indicates the state of the setup. Possible values are: + + :"idle": setup created + :"pending": setup selected + :"requesting": remote device requires Broadcast_Code + :"active": remote device started receiving stream \ No newline at end of file -- 2.39.2