summaryrefslogtreecommitdiff
path: root/doc/media-api.txt
Commit message (Collapse)AuthorAgeFilesLines
* doc: describe new ISO Transport propertiesPauli Virtanen2023-03-171-0/+40
| | | | Document the currently undocumented transport QoS properties.
* media-api: Make Vendor a uint32_tLuiz Augusto von Dentz2023-01-311-2/+2
| | | | | Using two uint16_t requires the use of a container which makes things a lot more complicated so this switch to use a single uint32_t.
* media-api: Add Vendor and MetadataAbhay Maheta2023-01-031-0/+27
| | | | This adds Vendor and Metadata properties to MediaEndpoint1.
* doc: Add remote endpoint path to SelectPropertiesFrédéric Danis2022-08-301-2/+4
|
* media-api: Add SelectPropertiesLuiz Augusto von Dentz2022-08-291-1/+87
| | | | | | This adds SelectProperties which is a more extensible version of SelectCapability since it takes a dictionary rather than a byte array and define new Properties for LE Audio.
* doc/media-api: Add Press/Hold/Release methods for MediaPlayer1Archie Pusaka2020-09-041-0/+29
| | | | | | | This allows us to send any passthrough command. The button can also be held for an extended amount of time. Reviewed-by: Michael Sun <michaelfsun@chromium.org>
* doc/media-api: Add documentation for DelayReportingLuiz Augusto von Dentz2020-05-211-0/+4
| | | | | | The code was expecting the endpoint to expose MediaEndpoint.DelayReporting property in order to expose MediaTransport.Delay property.
* doc/media-api: Add RegisterApplication methodLuiz Augusto von Dentz2019-08-101-0/+20
| | | | | | This uses application ObjectManager to discover the MediaEndpoint and MediaPlayer object of an application and deprecates the use of RegisterEndpoint and RegisterPlayer.
* doc/media-api: Add Device property to MediaEndpointLuiz Augusto von Dentz2019-01-231-0/+4
| | | | | This adds Device property which indicates which device the endpoint belongs to.
* doc/media-api: Add Endpoint property to MediaTransportLuiz Augusto von Dentz2019-01-231-0/+5
| | | | | Adds endpoint object to MediaTransport so application can resolve which MediaEndpoint is in use.
* doc/media-api: Enable MediaEndpoint to expose remote SEPLuiz Augusto von Dentz2019-01-231-2/+25
| | | | | This adds the possibility to expose remote SEP using MediaEndpoint interface to allow setting a configuration.
* doc/media-api: Add Player property to MediaControl1Luiz Augusto von Dentz2015-09-291-10/+14
| | | | | | | | | Player property is use to inform the current addressed player which is necessary in case more than one player is available. This is also remove the deprecated status of MediaControl1 and instead deprecated just its methods which similar functionality have been moved to MediaPlayer1.
* doc/media-api: Remove obsolete propertiesLuiz Augusto von Dentz2014-09-121-44/+0
| | | | | Properties related to HFP/HSP are no longer available since BlueZ has no native support of those profiles.
* audio/media: Remove experimental status from Media* interfacesLuiz Augusto von Dentz2014-08-051-3/+3
| | | | | These interfaces have been stable for a while so there is no reason to keep them as experimental anymore.
* doc/media-api: Include possible errorsLuiz Augusto von Dentz2014-03-131-0/+38
|
* doc/media-api: Add Metadata property to MediaItemLuiz Augusto von Dentz2013-07-261-21/+34
| | | | | The implementation uses a single property to expose the item metadata not multiple for every single metadata entry.
* doc/media-api: Update documentation of MediaItem1Luiz Augusto von Dentz2013-07-171-1/+5
| | | | This adds documentation of property Player
* doc/media-api: Update documentation of MediaFolder1Luiz Augusto von Dentz2013-07-171-2/+2
| | | | This adds missing access types to properties NumberOfItems and Name
* doc/media-api: Update documentation of MediaPlayer1Luiz Augusto von Dentz2013-07-161-0/+20
| | | | This adds documentation of properties Type and Subtype
* media-api: Fix mentioning MediaLibrary instead of MediaFolderLuiz Augusto von Dentz2013-03-051-2/+2
|
* player: Add Playlist propertyLuiz Augusto von Dentz2013-03-051-0/+4
| | | | | Playlist property refer to the folder where the list of items being played can be found.
* media: Rework MediaItem Type propertyLuiz Augusto von Dentz2013-03-041-15/+32
| | | | | | | | | Type now can assume the value "folder" so it is no longer necessary to have Folder property, FolderType in introduced to provide the folder type that before was on the Type itself. In addition to this add proper documentation what properties are optional and under what condition they are available.
* media-api: Fix referencing to MediaLibrary instead of MediaFolderLuiz Augusto von Dentz2013-02-151-2/+2
| | | | MediaLibrary was replaced by MediaFolder so doesn't exist anymore.
* media-api: Add org.bluez.MediaFolder1Luiz Augusto von Dentz2013-02-011-0/+171
| | | | | | | | | | | | | | | | | | This interface adds support for browsing and searching in the player's storage using AVRCP 1.4/1.5. Some remarks about the design: - Exposing UIDCounter and UIDs was considered, but the spec seems to have missed to define the player's id persistency. There are also the fact that UIDCounter alone does not guarantee persistency across sessions and do not provide what exact items have changed, so in the end exposing these details will bring almost no value. - Indexing or caching the whole media library is not recommended, Bluetooth is too slow for that and even vendors such as Apple do not recommend doing it, so the only items keep in cache are the current listed ones. - Addressed vs Browsed player is done implicitly when accessed, this was done to simplify the API and avoid confusions between applications and players.
* media-api: Change RegisterPlayer to use MPRIS specLuiz Augusto von Dentz2013-01-101-65/+7
| | | | | | | RegisterPlayer now expect registered paths to implement org.mpris.MediaPlayer2.player interface accourding to MPRIS spec: http://specifications.freedesktop.org/mpris-spec/latest/
* player: Add Device propertyLuiz Augusto von Dentz2013-01-101-0/+4
| | | | Device property indicates which device object the player belongs to.
* player: Fix documentation to use TrackNumber in track metadataLuiz Augusto von Dentz2013-01-101-1/+1
| | | | | Using Track key inside a Track property would be pointless, despite the documentation and code where also inconsistent.
* media-api: Add playback control methods to MediaPlayer1Luiz Augusto von Dentz2013-01-101-46/+53
| | | | | | This adds methods such as Play, Pause directly in MediaPlayer1, in addition to that Track is now turn into a property to take advantage of ObjectManager and document the interface as experimental.
* media: Clarify Acquire/TryAcquire error casesMikel Astiz2013-01-081-1/+9
| | | | | | Document the reported errors for Acquire() and TryAcquire(). For the later, make sure a specific error in guaranteed for the typical scenario of audio not streaming.
* media: Add HFP/HSP gains to transport APIMikel Astiz2013-01-081-0/+22
| | | | | Add two independent and HSP/HFP-specific properties to the media transport representing the input and output audio volumes.
* doc: Merge org.bluez.Control1 into org.bluez.MediaControl1 APIMarcel Holtmann2012-12-201-0/+50
|
* doc: Mark HFP-specific MediaTransport properties clearlyJohan Hedberg2012-12-201-8/+11
|
* doc: Small cleanup for media and control APIsMarcel Holtmann2012-12-191-4/+9
|
* media: Fix some wrong interface namesMikel Astiz2012-12-061-2/+2
| | | | | Trivially fix some wrong interface names introduced by commit 3aa15b56dca27a73f6bc34467ba0ce4c85ee2d9a.
* media: Add version suffix to all media interfacesMikel Astiz2012-12-051-10/+10
| | | | Append the version number to all D-Bus interface names in the Media API.
* media: Add MediaTransport.TryAcquire()Mikel Astiz2012-12-051-0/+7
| | | | | | Split the Acquire() method in two parts so that the optional acquires, formerly represented as a "?" flag in the accesstype parameter of Acquire(), are now implemented in TryAcquire().
* media: Remove transport access type from D-Bus APIMikel Astiz2012-12-051-21/+2
| | | | | | | | There is no known use-case making use of these access types and therefore the Media API can be simplified. From now on, the transport will always be acquired with read and write access rights.
* doc: Remove leftover PropertyChanged from media-api.txtJohan Hedberg2012-11-301-5/+0
|
* media-api: Update documentation of MediaPlayer interfaceLuiz Augusto von Dentz2012-11-301-19/+2
|
* media-api: Update documentation of MediaTransport interfaceLuiz Augusto von Dentz2012-11-291-13/+1
|
* audio: Export remote player as children object path of deviceLuiz Augusto von Dentz2012-10-311-3/+17
| | | | The object implements org.bluez.MediaPlayer similar to the target role.
* doc: Fix typo in media APIMichael Knudsen2012-10-231-1/+1
|
* media: Extend media API with optional acquireMikel Astiz2012-09-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acquiring a transport is needed in two different situations: either we are initiating the audio stream locally, or the remote side initiated it and thus we are just reacting. In the second case, we would expect the stream is already available, and otherwise the operation should fail. This means the media API needs to be extended in order to make this difference. This issue is specially relevant in the case of SCO, because the current approach is racy. With HFP, for example (say BlueZ has the HS role), the following race condition could be met: 1. Phone has an incoming call and thus starts in-band ringing. 2. SCO connection is accepted and stablished by BlueZ. 3. Gateway interface state is changed to Playing. 4. Exactly afterwards, the user routes the audio to the phone, to have a private conversation. So the SCO link is closed. 5. In parallel, PulseAudio sees the transition to Playing, and acquires the transport. 6. BlueZ receives an Acquire() request, but SCO is down. So it tries to reconnect the SCO link. The last step is an undesired behavior (the audio is routed back to the car). BlueZ should be smart enough to know that the SCO connection shouldn't be reestablished, but this is only possible if the endpoint provides additional information in the media API. Note that the API change introduced by this patch is backward compatible, meaning that older versions of BlueZ will just ignore the flag. So clients are encouraged to use it without necessarily adding a dependency to newer versions of BlueZ.
* media: Expose transport state in D-BusMikel Astiz2012-09-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* doc: Fix typoMichal Labedzki2012-06-281-1/+1
| | | | This patch fix simple typo in documentation of API.
* media-api: Update documentation to include Volume propertyLuiz Augusto von Dentz2012-05-251-0/+8
|
* doc: Fix typoSyam Sidhardhan2012-04-131-3/+3
|
* AVRCP: implement TRACK-REACHED-END eventLucas De Marchi2011-11-041-1/+8
|
* Add MediaPlayer.Release methodLuiz Augusto von Dentz2011-10-281-0/+8
| | | | | This is similar to MediaEndpoint.Release which is useful to notify the player that it is no longer registered/active.
* Fix MediaPlayer documentationLucas De Marchi2011-10-201-6/+0
|