- 27 Oct, 2022 4 commits
-
-
In Media3 there is the useful concept of connection hints that a client can set when building the session and that are sent to the service and passed to the `Callback.onConnect()` method when the browser connects. These connection hints are then included in the `ControllerInfo` object that later will be passed to every callback method and the implementor can then take decisions specific to these connection hints. These connection hints are not available in media1. However, when an app creates a `MediaBrowserCompat` object, the constructor takes a rootHint object that is sent to `MediaBrowserServiceCompat.onGetRoot()`. This change uses the browser rootHints as the connection hints when creating the `ControllerInfo` for legacy browsers and makes them available to the `MediaLibrarySession.Callback` domain methods in the same way as connection hints of a Media3 browser. PiperOrigin-RevId: 484220748 (cherry picked from commit 21022c77)
bachinger committed -
This change makes adding ad events in live streams more robust by allowing ad groups to grow in number of ads if more ad events are received than initially announced by the SDK. With the IMA prefetch feature, an AdPod can grow in size in certain conditions like from initially 2 ads to 4 ads being part of the ad group. With this change, if an additional ad event arrives while the ad group is still being played, the ad group is expanded. If the event arrives late and the ad group is already completed, a new group is created for the remaining ads. This also covers the case where we join the live stream while an ad is being played and we missed at least one LOADED event from the SDK. Ads of the group before the first LOADED event are ignored in such a case. PiperOrigin-RevId: 484214760 (cherry picked from commit 64e9e888)
bachinger committed
- 26 Oct, 2022 3 commits
-
-
PiperOrigin-RevId: 483983486 (cherry picked from commit e6079c38)
samrobinson committed -
From ANSI-CTA-608-E R-2014 section 8.4: > When closed captioning is used on line 21, field 2, it shall conform > to all of the applicable specifications and recommended practices as > defined for field 1 services with the following differences: > 1. The non-printing character of the miscellaneous control-character > pairs that fall in the range of 0x14, 0x20 to 0x14, 0x2F in field 1, > shall be replaced with 0x15, 0x20 to 0x15, 0x2F when used in field > 2. > 2. The non-printing character of the miscellaneous control-character > pairs that fall in the range of 0x1C, 0x20 to 0x1C, 0x2F in field > 1, shall be replaced with 0x1D, 0x20 to 0x1D, 0x2F when used in > field 2. This basically means that `cc1=0x15` in field 2 should be interpreted as `cc1=0x14` in field 1, and same for `0x1D -> 0x1C`. The `isMiscCode` method above already handles this by ignoring the LSB (the only difference between `0x14` and `0x15`, and `0x1C` and `0x1D`) by AND-ing with `0xF6` instead of `0xF7`. This change uses the same trick in `isServiceSwitchCommand`. Issue: google/ExoPlayer#10666 #minor-release PiperOrigin-RevId: 483927506 (cherry picked from commit 8c0f7827)
ibaker committed
-
- 25 Oct, 2022 5 commits
-
-
Split inner interface into separate file, which will go in common module. The old interface will be deprecated and extends the new. #cleanup PiperOrigin-RevId: 483732226 (cherry picked from commit 7fcb53da)
samrobinson committed -
PiperOrigin-RevId: 483699606 (cherry picked from commit fc345428)
samrobinson committed -
* Add `BitmapLoader` in `MediaSession.Builder` and `MediaLibrarySession.Builder`. * Pass `BitmapLoader` into the constructor of `MediaSession`, `MediaSessionImpl`, `MediaLibrarySession` and `MediaLibrarySessionImpl`. * Add an interface method `loadBitmapFromMetadata(MediaMetadata)` in `BitmapLoader`. * Remove the reference of `BitmapLoader` in `DefaultMediaNotificationProvider`. PiperOrigin-RevId: 483654596 (cherry picked from commit 3f69df72)
tianyifeng committed
-
- 24 Oct, 2022 2 commits
-
-
Although it can be useful to check the output format, it's not required or needed. For some AudioProcessor implementations, it is stated/obvious that the output format will match the input, in which case there is no a need to check the return value. #cleanup PiperOrigin-RevId: 483403679 (cherry picked from commit 8723e74b)
samrobinson committed
- 31 Oct, 2022 1 commit
-
- 24 Oct, 2022 1 commit
-
- 21 Oct, 2022 3 commits
-
-
* Add `CacheBitmapLoader`. * Add `CacheBitmapLoaderTest`. * Remove the `BitmapLoadRequest` and some bitmap caching logic in `DefaultMediaNotificationProvider` since we moved all of them in `CacheBitmapLoader`. * Modify `DefaultMediaNotificationProviderTest`. PiperOrigin-RevId: 482787445 (cherry picked from commit ca4edff1)
tianyifeng committed
- 24 Oct, 2022 2 commits
-
-
PiperOrigin-RevId: 482490230 (cherry picked from commit d21c9488)
Rohit Singh committed -
PiperOrigin-RevId: 482481703 (cherry picked from commit faa43022)
Rohit Singh committed
-
- 20 Oct, 2022 2 commits
-
-
PiperOrigin-RevId: 482461219 (cherry picked from commit b9c94545)
michaelkatz committed
-
- 19 Oct, 2022 7 commits
-
-
Make it easier to support use of RGBA_101012 rather than RGBA_8888 for EGL contexts, displays, and surfaces. This tangentially supports adding HDR tests, by slightly simplifying the color selection logic we'd have to add in HDR tests. PiperOrigin-RevId: 482219428 (cherry picked from commit bb215857)
huangdarwin committed -
The MediaNotficationManager stops the service from the foreground calling Service.stopForeground(boolean) which is deprecated in API 33. This change calls Service.stopForeground(int), which was added in API 24. #minor-release PiperOrigin-RevId: 482190332 (cherry picked from commit 601eaba7)
christosts committed -
`transformationMatrix` is not ambiguous, as there's no other local transformationMatrix variable nearby. PiperOrigin-RevId: 482184602 (cherry picked from commit e39826a8)
huangdarwin committed
- 24 Oct, 2022 1 commit
-
-
PiperOrigin-RevId: 482165983 (cherry picked from commit 1565a2da)
Rohit Singh committed
-
- 19 Oct, 2022 1 commit
-
-
This was originally added in https://github.com/androidx/media/commit/4fd7d777b669f6adacc3737a7e15b04a57f030fb, but it hasn't done anything since https://github.com/androidx/media/commit/98ee159df161c7c8806c0b0490b642738822f6a7 (when the instanceof ExoPlayer check was removed). PiperOrigin-RevId: 482161662 (cherry picked from commit a5b09b8c)
ibaker committed
-
- 18 Oct, 2022 8 commits
-
-
Before, they used `width` and `height`, which was inconsistent with other pixel tests, and less descriptive. Refactoring change only. No functional change intended. PiperOrigin-RevId: 481970243 (cherry picked from commit cce79a70)
huangdarwin committed -
Currently, repeating the same item (via seekNext/Previous) implicitly results in a seek to the default position of the current item, which looks exactly the same as a direct seek. As a result, we don't send onMediaItemTransition as we would for every other seekNext/Previous call. This can be fixed by explicitly marking the repeat case in the internal BasePlayer/ExoPlayerImpl methods, so that the callback can be triggered. Issue: google/ExoPlayer#10667 PiperOrigin-RevId: 481951788 (cherry picked from commit f850206c)
tonihei committed -
This is the first commit out of two. This change adds the missing event flags for the onEvents() callback when MediaController is connected to a media3 session (see MediaControllerImplBase). I updated the MediaControllerListenerTest and MediaControllerStateMaskingTest with assertions that on onEvents() is called alongside individual Player.Listener callbacks. There will be a follow-up change for the case where a MediaController is connected to a legacy MediaSession (MediaControllerImplLegacy). I've split this in two separate changes to make the size of the commit manageable for reviewing. #minor-release PiperOrigin-RevId: 481933437 (cherry picked from commit 46d5a0e3)
christosts committed -
(Also, make some public methods private) PiperOrigin-RevId: 481912071 (cherry picked from commit 93ee1f48)
huangdarwin committed -
#cleanup PiperOrigin-RevId: 481882181 (cherry picked from commit 7ac7e643)
samrobinson committed -
- The naming DefaultMuxer is more consistent with the rest of Transformer codebase (e.g. DefaultEncoderFactory). - By hiding the implementation details of DefaultMuxer, the transition to in-app Muxer will be seamless for apps using DefaultMuxer. - The current plan is that DefaultMuxer will become the in-app muxer. PiperOrigin-RevId: 481838790 (cherry picked from commit 3399f4ec)
kimvde committed
-