diff options
author | Mikel Astiz <mikel.astiz@bmw-carit.de> | 2012-09-14 14:55:58 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-09-14 16:48:24 +0300 |
commit | 3edd39f0fd42686d0b1260525ae9778ef798f806 (patch) | |
tree | 6fcf31cc747363350ed9acc96dfef7088961213f /doc/media-api.txt | |
parent | 4138972b5b84a4c25c06847c714761495f296b96 (diff) | |
download | bluez-3edd39f0fd42686d0b1260525ae9778ef798f806.tar.gz |
media: Expose transport state in D-Bus
Extend the Media API to expose the transport state in D-Bus, as a
property of the transport. This way the clients do not have to find
out which is the corresponding profile-specific interface for the
transport.
Additionally, this state along with the automatic release of transports
will allow clients to avoid the "optional release" or "accept remote
release" race condition. For example, with HSP/HFP profiles, the problem
is the following:
1. User suspends SCO in the remote end.
2. BlueZ signals the Playing->Connected state change in D-Bus.
3. Exactly afterwards, the user resumes SCO in the remote end.
4. In parallel, PulseAudio sees the aforementioned transition to
Connected, and thus releases the transport.
5. BlueZ receives a Release() request while SCO is up. So the audio
stream will be suspended.
The last step is an undesired behavior since the user explicitly wanted
to route the audio stream through Bluetooth.
The issue is difficult to reproduce but it can easily be solved by
exposing the transport state in D-Bus.
Diffstat (limited to 'doc/media-api.txt')
-rw-r--r-- | doc/media-api.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/doc/media-api.txt b/doc/media-api.txt index e5eeaa009..da8ef5331 100644 --- a/doc/media-api.txt +++ b/doc/media-api.txt @@ -317,6 +317,14 @@ Properties object Device [readonly] Configuration blob, it is used as it is so the size and byte order must match. + string State [readonly] + + Indicates the state of the transport. Possible + values are: + "idle": not streaming + "pending": streaming but not acquired + "active": streaming and acquired + uint16 Delay [readwrite] Optional. Transport delay in 1/10 of millisecond, this |