- 09 Nov, 2022 3 commits
-
-
Imported from GitHub PR Issue: google/ExoPlayer#10762 This ensure that ffmpeg error code are properly translated to values that the ExoPlayer decoder understand. The main gain is that it allows the decoder to properly ignore more cases of invalid data and recover. The second gain is that the other errors are now proper ExoPlayer errors and no more obscure buffer ones. Fixes: Issue: google/ExoPlayer#10760 Merge 82ceeb77d6df71f5ffb0474db66a36fd6eb8e51a into 972e169b COPYBARA_INTEGRATE_REVIEW=go/exoghi/10762 from Tolriq:ffmpeg_error_code 82ceeb77d6df71f5ffb0474db66a36fd6eb8e51a PiperOrigin-RevId: 487189910 (cherry picked from commit a1c04cd4)
Tolriq committed
- 08 Nov, 2022 2 commits
-
- 07 Nov, 2022 6 commits
-
-
Problem: We are initialising muxer as soon as we start the transformation. Now the startTransformation() method can be called from main thread, but muxer creation is an I/O operation and should be not be done on main thread. Solution: Added lazy initialisation of muxer object. The actual transformation happens on background thread so the muxer will be initialised lazily from background thread only. Another way was to provide an initialize() method on MuxerWrapper which will explicitly initialise muxer object but with this approach the caller need to call the initialise method before calling anything else. With current implementation the renderers are calling MuxerWrapper methods on various callbacks (Not sequentially) and also we are sharing same muxer with multiple renderers so It might become confusing for the caller on when to call the initialise() method. Also there are few methods on MuxerWrapper which dont really need muxer object. So in short it might make MuxerWrapper APIs more confusing. Validation: Verified the transformation from demo app. PiperOrigin-RevId: 486735787 (cherry picked from commit eb357654)
sheenachhabra committed -
This should be necessary to ensure decoders see fewer errors. Setting this resulted in removing native_dequeueOutputBuffer errors on OMX.MTK decoders for in-app tone mapping prototyping. PiperOrigin-RevId: 486715941 (cherry picked from commit e510d990)
huangdarwin committed -
PiperOrigin-RevId: 486706595 (cherry picked from commit 23e724a0)
huangdarwin committed -
Remove static imports to Player constants to make the code more readable. #minor-release PiperOrigin-RevId: 486619911 (cherry picked from commit 09651ed2)
christosts committed -
The method getCurrentPosition() may return a lesser position during pause than the previous retrieved value due to ipc call delay in playerInfo update. Users see track position jump backwards at pause. Fixed to return last estimated position while paused if have not received updated playerInfo. Code is deduped to point getContentPosition() to getCurrentPosition() when !isPlayingAd. PiperOrigin-RevId: 486617341 (cherry picked from commit 9336b95b)
michaelkatz committed
-
- 04 Nov, 2022 1 commit
-
-
LSC: https://docs.google.com/document/d/16tpK6aXqN68PvTyvt4siM-m7f0NXi_8xEeitLDzr8xY/edit?usp=sharing TESTED=NA BEGIN_PUBLIC/END_PUBLIC PiperOrigin-RevId: 486180995 (cherry picked from commit 45f21a2f)
Googler committed
-
- 03 Nov, 2022 5 commits
-
-
From https://github.com/androidx/media/pull/127/files PiperOrigin-RevId: 485921271 (cherry picked from commit 48aac9ba)
yschimke committed -
PiperOrigin-RevId: 485890141 (cherry picked from commit 58b32b61)
huangdarwin committed -
on which the video is rendered. Design Doc: go/aaos-mu-media-dd PiperOrigin-RevId: 485884772
Googler committed
-
- 02 Nov, 2022 2 commits
-
-
Remove static imports to constants and imports to intdefs, to make the code more readable. PiperOrigin-RevId: 485592288 (cherry picked from commit 8db6b718)
christosts committed
-
- 01 Nov, 2022 3 commits
-
-
Not sure what BUILD.ID the fix will first be applied on though. PiperOrigin-RevId: 485389618 (cherry picked from commit 91b286c4)
huangdarwin committed -
* Add `Listener` in `MediaSession` with method `onNotificationRefreshRequired(MediaSession)`. * Add `MediaSessionService` as the listener of the `MediaSession` when `MediaSession` is added to `MediaSessionService` * Load bitmap when update metadata in `MediaSessionLegacyStub` and call `onNotificationRefreshRequired` when bitmap asynchronously arrives. PiperOrigin-RevId: 485376145 (cherry picked from commit 77fedd8d)
tianyifeng committed -
PiperOrigin-RevId: 485366659 (cherry picked from commit a65ff85a)
huangdarwin committed
-
- 31 Oct, 2022 3 commits
-
-
If an app sets a compileSdkVersion that is lower than the one used to create AARs of its dependencies, the build process may produce invalid outputs, for example by stripping methods from the APK that are only called when the app is running on a new API version. To avoid this issue, we can enforce that the compileSdk of apps or libraries depending on ExoPlayer/Media3 is at least the same as the one we used for compilation when creating the AAR. Issue: google/ExoPlayer#10684 PiperOrigin-RevId: 485100067 (cherry picked from commit 136b8c57)
tonihei committed
-
- 28 Oct, 2022 3 commits
-
-
PiperOrigin-RevId: 484512661 (cherry picked from commit bcc2fe40)
samrobinson committed -
#minor-release PiperOrigin-RevId: 484483080 (cherry picked from commit 3069d813)
andrewlewis committed
- 27 Oct, 2022 5 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 4 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
-