This CL unifies the different terms ([select, add, group] route)
which actually have the same meaning - into 'select'.
Same applies for ([deselect, remove]) -> deselect.
Bug: 146400872
Test: atest mediaroutertest
Change-Id: Ic985359dd53f8b30bba654e6a451fcdf3be6cf24
This CL pulls out the process of registering SessionCallback
from the method MediaRouter2#requestCreateSession.
Now the registered callback can be reused until unregistered.
Also, this renames existing (un)registerCallback methods to
(un)register'Route'Callback.
Bug: 146400872
Test: atest mediaroutertest
Change-Id: I68f71b0a857780ab9e2a0ca2a550af5ab4962f70
This CL adds session-related apis into MediaRouteProvider
so MediaRouterService can call them.
This CL also removes methods related to "route selection".
Test: atest mediaroutertest
Change-Id: I68c2cde91d305315e95e5d9ab1d6d23459c28c9d
RemoteUserInfo doesn't require IBinder for finer grained identification
among MediaControllers in the same process/package. So extra information
don't need to be shared across the processes.
Bug: 146815343
Test: Build
Change-Id: I6935c9c43b5fdfa0c608c753779e17b6cf0d341e
Since RouteSessionInfo and controlHints are passed
simultaenously, move controlHints into the session info
for simplicity.
Test: atest mediaroutertest
Change-Id: Id99e4d71744ab438e8fcd99101895c28e2585662
This CL adds
- connectionState : whether the route is connected/disconnected
- mIconUri : uri of the icon of the route
- deviceType : type of the route (BT, speaker, tv)
into MediaRoute2Info and corresponding tests
Bug: 146605788
Test: atest mediaroutertest
Change-Id: I8b3f33967478fd66d5a380bf5d069579f006b890
This CL introduces "session" into MediaRouterProviderService.
When a client wants to use a route of a provider, it should
request the provider to create a new session and then,
the client will control the session instead of a route.
Clients can add/remove routes into/from the session
(a.k.a. dynamic grouping) and transfer media to the other
route in a provider with less delay.
RouteSessionInfo holds information about a session and
MediaRoute2ProviderService must set session info and implement
abstract methods.
Bug: 142762829
Test: atest mediaroutertest
Change-Id: Iaf668d9a2c360cd9c7dbc5f1766d14e0d81bb3e3
Audio offload support was added to AudioTrack in Q,
but only a few encoding were exposed (MP3 & AAC).
This patch adds only Opus support.
For R we probably want to expose all format that the framework supports.
Bug: 146540917
Test: AudioTrackOffloadTest AudioFormatTest
Change-Id: I2ca57d45081668f76f8d9e153f66d1fd41209685
Signed-off-by: Kevin Rocard <krocard@google.com>
This method will list up routes that are actively used
by some applications.
Once dynamic grouping is implemented, it will return
sessions instead of routes.
Bug: 146604082
Test: atest mediaroutertest
Change-Id: Ic013d3c2ded47b7ebca0b4cf99d2a7ea75045dc1
New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.
The audio stream has own volume alias and the volume
does not change by volume changes of other streams.
Bug: 123745215
Test: make
Change-Id: Iad07d9f0b25ea35c6d565be677af7815bf2f6bd7