- 10 Nov, 2022 9 commits
-
-
Also, document that we tone map when no HDR features are explicitly set PiperOrigin-RevId: 487310971
huangdarwin committed -
Not setting the color info results in a missing "colr" box in the produced container, under file/moov/trak/mdia/minf/stbl/stsd/hvc1. This means extractors will not be able to find out the transcoded file is HDR. In `Transformer`, this means it can't transcode this transcoded file, because it currently relies on the container bearing HDR info to construct the transcoding sample pipeline. PiperOrigin-RevId: 487276712
claincly committed -
Accepting a PlayerInfo while the MediaController is masking its state means we are reverting all masking changes we've made earlier. This only makes sense if the update already contains the masked operation. If multiple operations are in flight (or are sent from the session while they are in flight), we need to wait until all of them are handled before accepting new updates. In cases where a new update from the session excludes the Timeline and the masked state is incompatible with the new update, we also risk an exception if we accept the update too early. PiperOrigin-RevId: 487266899
tonihei committed -
In startTransformation method we were throwing UnsupportedEncodingException (IOException) when mediaItem with unsupported arguments is passed. Changed this to IllegalArgumentException which seems more logical here. PiperOrigin-RevId: 487259296
sheenachhabra committed -
This is the follow-up commit where the onEvents callback raised by MediaController contains the missing events, for the case where MediaController is connected to a legacy MediaSession. #minor-release PiperOrigin-RevId: 487231996
christosts committed -
Just move some code around for now, to start setting up the overall structure. PiperOrigin-RevId: 487229329
kimvde committed -
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
Tolriq committed -
This is to avoid having this logic in TransformerInternal once it is added. PiperOrigin-RevId: 487159941
kimvde committed -
#minor-release PiperOrigin-RevId: 486969194
bachinger committed
-
- 08 Nov, 2022 21 commits
-
-
This logic is currently in the player renderers. With multi-asset, the renderers will go into the AssetLoader, which shouldn't be responsible for muxing. PiperOrigin-RevId: 486860502
kimvde committed -
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
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
huangdarwin committed -
PiperOrigin-RevId: 486706595
huangdarwin committed -
The folder type is useful metadata to understand programmatically what criterion was used to create the folder. PiperOrigin-RevId: 486653317
tonihei committed -
Remove static imports to Player constants to make the code more readable. #minor-release PiperOrigin-RevId: 486619911
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
michaelkatz committed -
LSC: https://docs.google.com/document/d/16tpK6aXqN68PvTyvt4siM-m7f0NXi_8xEeitLDzr8xY/edit?usp=sharing TESTED=NA BEGIN_PUBLIC/END_PUBLIC PiperOrigin-RevId: 486180995
Googler committed -
From https://github.com/androidx/media/pull/127/files PiperOrigin-RevId: 485921271
yschimke committed -
PiperOrigin-RevId: 485890141
huangdarwin committed -
on which the video is rendered. Design Doc: go/aaos-mu-media-dd PiperOrigin-RevId: 485884772
Googler committed -
Notification buttons for next/previous should change based on the new index of the currently played media item after another media item is added or removed from a playlist. Issue: androidx/media#130 PiperOrigin-RevId: 485869144
rohks committed -
If there's an @param javadoc tag in a supertype then all overrides of this method that don't also override the javadoc must use the same parameter name. PiperOrigin-RevId: 485857711
ibaker committed -
Remove static imports to constants and imports to intdefs, to make the code more readable. PiperOrigin-RevId: 485592288
christosts committed -
Public methods may only refer to public types in their signature. This change ensures that by switching to a public supertype everywhere. PiperOrigin-RevId: 485568625
ibaker committed -
Not sure what BUILD.ID the fix will first be applied on though. PiperOrigin-RevId: 485389618
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
tianyifeng committed -
PiperOrigin-RevId: 485366659
huangdarwin committed -
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
tonihei committed -
PiperOrigin-RevId: 485061783
rohks committed -
PiperOrigin-RevId: 485036120
rohks committed
-
- 31 Oct, 2022 10 commits
-
-
#minor-release PiperOrigin-RevId: 484514123
bachinger committed -
PiperOrigin-RevId: 484512661
samrobinson committed -
#minor-release PiperOrigin-RevId: 484483080
andrewlewis committed -
PiperOrigin-RevId: 484298261
kimvde committed -
This root extra needs to be set by apps manually in media1 and we can do that automatically in Media3 based on the available session commands. #minor-release PiperOrigin-RevId: 484286833
bachinger committed -
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
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
bachinger committed -
This allows to throw when the Transformer is stuck or is too slow. PiperOrigin-RevId: 484179037
kimvde committed -
PiperOrigin-RevId: 483983486
samrobinson committed -
PiperOrigin-RevId: 483969411
tofunmi committed
-