- 23 Jun, 2022 1 commit
-
- 21 Jun, 2022 1 commit
-
-
The offload sleeping stops as soon as a new DO_SOME_WORK message is handled (because this indicates an expected change in rendering and we want to stop sleeping until we know it's safe to do so). Every exit path from doSomeWork needs to clear other pending DO_SOME_WORK messages as these requests have already been handled by the current method invocation. This currently doesn't happen from the offload sleeping return path and a previously queued DO_SOME_WORK message can immediately wake up the rendering loop again. Fix this by moving the message removal to the beginning of the doSomeWork method (as it prevents forgetting it in one of the exit paths later). PiperOrigin-RevId: 456259715 (cherry picked from commit a7649b63)
tonihei committed
-
- 20 Jun, 2022 1 commit
-
- 16 Jun, 2022 1 commit
-
-
#minor-release PiperOrigin-RevId: 455380010 (cherry picked from commit 7563bd27)
christosts committed
-
- 15 Jun, 2022 2 commits
-
-
PiperOrigin-RevId: 455157744 (cherry picked from commit 12e75627)
christosts committed
-
- 10 Jun, 2022 1 commit
-
- 07 Jun, 2022 1 commit
-
- 17 Jun, 2022 1 commit
-
-
The API 32 SDK has incorrect versioning metadata for Spatializer. It reports the whole class has only been present since API 33 (which is surely impossible given it's present in the API 32 SDK): https://issuetracker.google.com/234009300 The metadata seems to be correct in the API 33 SDK, so this baseline will no longer be needed when we bump to `compileSdkVersion = 33`.
Ian Baker committed
-
- 16 Jun, 2022 5 commits
-
-
Fixing lint errors in the string.xml files makes no sense because these are overridden with the next automated string import. Adding a lint-baseline.xml instead for the ui module. See https://issuetracker.google.com/208178382 #minor-release PiperOrigin-RevId: 455354304 (cherry picked from commit 61ab75b8)
bachinger committed -
PiperOrigin-RevId: 455347182 (cherry picked from commit dc0e5c44)
Marc Baechinger committed
- 15 Jun, 2022 10 commits
-
-
These calls were not implemented so far as they require a mix of initial prepareFrom/playFrom calls and addQueueItem. We can also support clients without queue handling to set single MediaItems. To make the calls consistent and predictable in the session, we need to ensure that none of the play/pause/addQueueItem/ removeQueueItem/prepare/playFromXYZ/prepareFromXYZ are called before the controller is prepared and has media. #minor-release PiperOrigin-RevId: 455110246 (cherry picked from commit b475f1f2)
tonihei committed -
PiperOrigin-RevId: 455094147 (cherry picked from commit ad3348cc)
Marc Baechinger committed -
See https://issuetracker.google.com/208178382 PiperOrigin-RevId: 454949204 (cherry picked from commit 1f380c1d)
bachinger committed
- 14 Jun, 2022 2 commits
-
-
#minor-release PiperOrigin-RevId: 454884692 (cherry picked from commit 118d689a)
christosts committed -
PiperOrigin-RevId: 454641746 (cherry picked from commit 970eb444)
Marc Baechinger committed
-
- 13 Jun, 2022 2 commits
-
-
`codecDrainAction` is set to `DRAIN_ACTION_NONE` in 3 places in `MediaCodecRenderer`: * The constructor (so there's no prior state to worry about) * `updateDrmSessionV23()`: Where `mediaCrypto` is reconfigured based on `sourceDrmSession` and `codecDrmSession` is also updated to `sourceDrmSession`. * `resetCodecStateForFlush()`: Where (before this change) the action is unconditionally set back to `DRAIN_ACTION_NONE` and so any required updated implied by `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is not done. This change ensures that `flushOrReleaseCodec()` handles `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` before calling . This probably also resolves Issue: google/ExoPlayer#10274 #minor-release PiperOrigin-RevId: 454114428 (cherry picked from commit 222faa96)
ibaker committed
- 09 Jun, 2022 10 commits
-
-
The track selector will select multi-channel formats when those can be spatialized, otherwise the selector will prefer stereo/mono audio tracks. When the device supports audio spatialization (Android 12L+), the DefaultTrackSelector will monitor for changes in the platform Spatializer and trigger a new track selection upon a Spatializer change event. Devices with a `television` UI mode are excluded from audio channel count constraints. #minor-release PiperOrigin-RevId: 453957269 (cherry picked from commit e2f0fd76)
christosts committed -
This change fixes a bug where the player is frozen with HLS chunkless preparation because the audio stream wrappers are not marked as master timestamp sources before preparation. #minor-release PiperOrigin-RevId: 453941815 (cherry picked from commit 9221eeb2)
christosts committed -
The service handles three different types of `Intents`. Custom command and media command Intents created by the library and media button event Intents from other sources. Media commands from the library as well as from external sources have the action set to `android.intent.action.MEDIA_BUTTON`. If the data URI is set and can be used to identify a session then it is a library Intent. If the Intent is coming from an external KeyEvent, the service implementation is asked which session to use by calling `onGetSession(controllerInfo)` with the controller info being an anonymous legacy controller info. Intents representing a custom command are always coming from the library and hence always have a data URI. Issue: androidx/media#82 PiperOrigin-RevId: 453932972 (cherry picked from commit 8b592fc7)
bachinger committed -
PiperOrigin-RevId: 453905355 (cherry picked from commit 58f7ac25)
Marc Baechinger committed -
Some Player implementations have no playlist capability but can still set a MediaItem for playback. Examples are a MediaController connected to a legacy MediaSession, ExoPlayer up to 2.12 or MediaPlayer. To indicate this capability, we need an allowed command in addition to COMMAND_CHANGE_MEDIA_ITEMS that just allows to set a single item that replaces everything that is currently played. #minor-release PiperOrigin-RevId: 453879626 (cherry picked from commit 5333c67d)
tonihei committed -
Use Collections.synchronizedSet() instead of creating a set from a ConcurrentHashMap because ConcurrentHashMap has a bug in APIs 21/22 that can result in lost updates. PiperOrigin-RevId: 453696565 (cherry picked from commit d506c709)
christosts committed -
With HLS chunkless preparation, audio formats may have no value for channel count. In this case, the DefaultAudioSink will either query the platform for a supported channel count (API 29+) or assume a max channel count based on the encoding spec in order to decide whether the audio format can be played with audio passthrough. Issue: google/ExoPlayer#10204 #minor-release PiperOrigin-RevId: 453644548 (cherry picked from commit 86973382)
christosts committed -
These legacy callbacks are currently forwarded to onSetMediaUri which will be removed in the future. Also make sure to only call player.prepare/play after the items have been set. The calls to onAddQueueItem are also forwarded to onAddMediaItems to actually allow a session to resolve these items to playable media, which wasn't possible so far. PiperOrigin-RevId: 453625204 (cherry picked from commit bd126ec5)
tonihei committed -
PiperOrigin-RevId: 453490088 (cherry picked from commit a2a45043)
Marc Baechinger committed
-
- 07 Jun, 2022 2 commits
-
-
#minor-release PiperOrigin-RevId: 453408087 (cherry picked from commit 62497f23)
christosts committed -
The current setup with distinct, private `keyForField` implementations, leaves open the (theoretical) possibility of a clash in the `Bundle` keys used by the superclass and subclass. This change brings consistency with our only other extensible `Bundleable` type (`PlaybackException`). #minor-release PiperOrigin-RevId: 453385875 (cherry picked from commit 814e43db)
ibaker committed
-