- 04 Jan, 2023 8 commits
-
-
Did not do this optimisation for `AdPlaybackState.AdGroup` as its length is zero for `AdPlaybackState` with no ads. No need to pass default values while fetching keys, which we always set in `AdPlaybackState.AdGroup.toBundle()`. PiperOrigin-RevId: 496995048
rohks committed -
PiperOrigin-RevId: 496956035
tofunmi committed -
Added another check in test to make sure we don't add keys to bundle for fields with `null` values. PiperOrigin-RevId: 496948705
rohks committed -
Issue: google/ExoPlayer#10845 PiperOrigin-RevId: 496947392
bachinger committed -
PiperOrigin-RevId: 496942702
kimvde committed -
AssetLoader declares the tracks with a setTrackCount() method. Setting the track count on the MuxerWrapper is easier than calling registerTrack() as many times as the number of tracks. PiperOrigin-RevId: 496933501
kimvde committed -
Issue: google/ExoPlayer#10854 PiperOrigin-RevId: 496922055
bachinger committed -
AssetLoader declares the tracks with a setTrackCount() method. Setting the track count on the FallbackListener is easier than calling registerTrack() as many times as the number of tracks. PiperOrigin-RevId: 496919969
kimvde committed
-
- 21 Dec, 2022 32 commits
-
-
The TransformationRequest passed to FallbackListener (and createSupportedTransformationRequest) can have null for values that are inferred from source. Within fallback, this can be height, width, video mime type and audio mime type (HDR mode is not linked to source). requestedFormat has these values populated from source, and supportedFormat then finds the closest supported values to the requested. If any of the values in supportedFormat do not match the requestedFormat, then this method would build upon the TransformationRequest and update ALL possible fallback fields. This is a problem because the fallback listener compares the original request to the fallback one and notifies about all the fields that have changed. This CL changes this so that only the values that are not the same as requested are changed in the supported request that is given to the fallback listener. PiperOrigin-RevId: 496908492
samrobinson committed -
When trying to run the test on Android Studio, error "incompatible types: Buffer cannot be converted to ByteBuffer" is logged. This is because ByteBuffer.flip() returns a Buffer (and not a ByteBuffer). Annotation @CovariantReturnType on ByteBuffer.flip() should resolve this automatically but it doesn't seem supported at the moment. PiperOrigin-RevId: 496894723
kimvde committed -
There are two overloads of this method due to a type 'rename' from `PlayerControlView.VisibilityListener` to `PlayerView.ControllerVisibilityListener`. Currently when you call one overload it passes `null` to the other one (to clear the other listener). Unfortunately this results in it clearing itself, because it receives a null call back! This change tweaks the documentation to clarify that the 'other' listener is only cleared if you pass a non-null listener in. This solves the recursive problem, and allows the 'legacy' visibility listener to be successfully registered. Issue: androidx/media#229 #minor-release PiperOrigin-RevId: 496876397
ibaker committed -
Users of this class may run into these assertions when creating the State and they need to check the source code to understand why the State is invalid. Adding error messages to all our correctness assertions helps to understand the root cause more easily. PiperOrigin-RevId: 496875109
tonihei committed -
Replace onTrackRegistered and onAllTracksRegistered with onTrackCount. PiperOrigin-RevId: 496853037
kimvde committed -
PiperOrigin-RevId: 496768072
huangdarwin committed -
PiperOrigin-RevId: 496727803
huangdarwin committed -
This CL replaces concurrent collections and atomic primitives with a single lock, this way the code is easier to reason about. PiperOrigin-RevId: 496718057
claincly committed -
Note that we simply use GlEffectsFrameProcessor in-app / GL tone-mapping, so PQ->SDR tone-mapping isn't yet implemented. Tested manually using the demo on Pixel 7, to confirm that device and in-app tone mapping behave similarly. PiperOrigin-RevId: 496700231
huangdarwin committed -
Adds the AudioMixerAlgorithm interface which allows for specialized implementations of audio mixing that also efficiently convert between source and mixing formats. Initial implementation has two algorithms: 1. Float -> float (with channel mixing) 2. S16 -> float (with channel mixing) PiperOrigin-RevId: 496686805
steveanton committed -
#minor-release PiperOrigin-RevId: 496668378
ibaker committed -
PiperOrigin-RevId: 496664711
tofunmi committed -
#minor-release PiperOrigin-RevId: 496661152
ibaker committed -
PiperOrigin-RevId: 496660388
tofunmi committed -
To do that, rename PROGRESS_STATE_NO_TRANSFORMATION to PROGRESS_STATE_NOT_STARTED and update Javadoc of ProgressState to not be Transformer specific. PiperOrigin-RevId: 496653460
kimvde committed -
Also clean up the strict mode violations of using `BitmapFactory.convertToByteArray` on the main thread. PiperOrigin-RevId: 496422355
tianyifeng committed -
PiperOrigin-RevId: 496410502
andrewlewis committed -
PiperOrigin-RevId: 496398934
ibaker committed -
This should allow us to focus on HDR failures instead of network buffering failures when debugging HDR issues. These files are each used on several files, so it should be more worth the test binary impact to move these files to local first. Locally, tests did take less time after this diff PiperOrigin-RevId: 496398130
huangdarwin committed -
The MediaSourceFactory won't be used by the other AssetLoaders In order to do that, ExoPlayerAssetLoader has been made public, and the DefaultAssetLoaderFactory has become a wrapper around ExoPlayerAssetLoader. PiperOrigin-RevId: 496386853
kimvde committed -
PiperOrigin-RevId: 496379904
tofunmi committed -
https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter#seekTo(long) #minor-release PiperOrigin-RevId: 496378709
ibaker committed -
PiperOrigin-RevId: 496377192
ibaker committed -
These are the remaining setter operations. They all share the same logic that handles playlist and/or position changes. The logic to create the placeholder state is mostly copied from ExoPlayerImpl's maskTimelineAndPosition and getPeriodPositonUsAfterTimelineChanged. PiperOrigin-RevId: 496364712
tonihei committed -
https://github.com/androidx/media/commit/7e6399745976dee403f24b90ee989f0d51907818
*** Original commit *** Add TransformerTestBuilderFactory to make transformer testable by apps *** PiperOrigin-RevId: 496342997
tonihei committed -
https://github.com/androidx/media/commit/8a24209fd63de5fb5a7ea8df365d051fa2ac14be
*** Original commit *** Remove extra colons in `build.gradle`s modulePrefix should include this already. *** PiperOrigin-RevId: 496337833
tonihei committed -
The period updates were introduced to ensure the buffered position is updated regularly and that any playback position drift is corrected. None of these updates need to happen while the player is paused or not loading and we can avoid the constant binder interactions. PiperOrigin-RevId: 496329800
tonihei committed -
FrameProcessor already support using different transfer function for input and output color. This CL has two major changes: - Create an eglSurface that recognizes BT.2020 PQ - This requires a separate extension that works only after 33 - So we current throw, if input is HDR, and this extension doesn't work - Create FrameProcessor with PQ output transfer function PiperOrigin-RevId: 496023758
claincly committed -
The tunneling callbacks are sent via Handler messages and may be handled after the codec/surface was changed or released. We already guard against the codec/surface change condition by creating a new listener and verifying that the current callback happens for the correct listener instance, but we don't guard against a released codec yet. PiperOrigin-RevId: 495882353
tonihei committed -
PiperOrigin-RevId: 495860300
samrobinson committed -
Some Player methods operate relative to existing indices in the playlist (add,remove,move,seek). As these operations may be issued from a place with a stale playlist (e.g. a controller that sends a command while the playlist is changing), we have to handle out- of-bounds indices gracefully. In most cases this is already documented and implemented correctly. However, some cases are not documented and the existing player implementations don't handle these cases consistently (or in some cases not even correctly). PiperOrigin-RevId: 495856295
tonihei committed -
modulePrefix should include this already. PiperOrigin-RevId: 495853065
andrewlewis committed
-