- 25 Jan, 2022 7 commits
-
-
PiperOrigin-RevId: 421278099
samrobinson committed -
PiperOrigin-RevId: 421256149
christosts committed -
Multiple listeners can be added to Transformer and its builder. All or specific listeners can also be removed. PiperOrigin-RevId: 421047650
hschlueter committed -
Codec and its factories can use MediaCodec directly as for API >= 21, the SynchronousMediaCodecAdapter methods used in Codec just correspond to a single MediaCodec call each so there is no reason to have another wrapping layer. PiperOrigin-RevId: 421041177
hschlueter committed -
PiperOrigin-RevId: 421039869
hschlueter committed -
PiperOrigin-RevId: 421036800
christosts committed -
Exceptions thrown by MediaMuxer are converted MuxerExceptions and later to TransformationExceptions with ERROR_CODE_MUXING_FAILED. PiperOrigin-RevId: 421033721
hschlueter committed
-
- 11 Jan, 2022 21 commits
-
-
The media codec renderers have fallback logic in getDecoderInfos to assume that E-AC3 decoders can handle the 2D version of E-AC3-JOC and that H264/H265 decoders can handle some base layer of Dolby Vision content. Both fallbacks are useful if there is no decoder for the enhanced Dolby formats. Both fallbacks are not applied during track selection at the moment because the separate MediaCodecInfo.isCodecSupported method verifies that the mime type corresponding to format.codecs is the same as the decoder mime type (which isn't true for the fallback case). To fix the fallback logic, we can just completely remove this additional check because it's not needed in the context of this method that is only called after we already established that the decoder can handle the format.sampleMimeType. In addition, we need to map the Dolby Vision profiles to the equivalent H264/H265 profile to make the codec profile comparison sensible again. PiperOrigin-RevId: 420959104
tonihei committed -
SampleQueues may be released in the context of a finally block after an out of memory error. Allocating in that scenario can throw yet a new OutOfMemoryError. By safely releasing SampleQueue memory, we increase the possibility of handling the error gracefully. PiperOrigin-RevId: 420859022
aquilescanta committed -
PiperOrigin-RevId: 420738165
olly committed -
This method has been deprecated since 2.12.0 ([commit](https://github.com/google/ExoPlayer/commit/d1bbd3507a818e14be965c300938f9d51f8b7836)). Also remove DashMediaSource.Factory#setLivePresentationDelayMs(long, boolean), this method has been deprecated since 2.13.0 ([commit](https://github.com/google/ExoPlayer/commit/41b58d503ae6666cea4ded114afde9fb23a5e199)). PiperOrigin-RevId: 420719877
ibaker committed -
This class is already called StyledPlayerControlViewLayoutManager, it seems unecessary to repeate the 'styled' word again in this context. PiperOrigin-RevId: 420711161
ibaker committed -
These were missed in https://github.com/androidx/media/commit/9dae5fd2c0d2781064a296d8b73e4aae99cd0d16 These references will be re-written to PlayerView when exporting to exoplayer2, so this commit results in some small reformatting changes. Also fix a reference to LegacyPlayerControlView that should be StyledPlayerControlView. PiperOrigin-RevId: 420707706
ibaker committed -
The draw method was disabling vertex attrib arrays but not re-enabling them. Remove the call to disable the vertex attrib arrays so that then remain enabled after the program is created. Manually verified by setting the surface type to spherical in the demo app and playing a spherical sample video. Issue: google/ExoPlayer#9782 PiperOrigin-RevId: 420707503
andrewlewis committed -
Issue: google/ExoPlayer#9797 PiperOrigin-RevId: 420707176
ibaker committed -
PiperOrigin-RevId: 420307694
claincly committed -
#minor-release PiperOrigin-RevId: 420289147
bachinger committed -
PiperOrigin-RevId: 420285295
olly committed -
The encoder and sonic are now set up in the constructor rather than in a configuration method called from processData(). This is more similar to VideoSamplePipeline and reduces null checks. PiperOrigin-RevId: 420260526
hschlueter committed -
PiperOrigin-RevId: 420056876
hschlueter committed -
PiperOrigin-RevId: 420053894
claincly committed -
Issue: google/ExoPlayer#9800 Added test for RTSP authentication. PiperOrigin-RevId: 420048821
claincly committed -
PiperOrigin-RevId: 420032157
hschlueter committed -
When sending a MediaItem to a MediaSession with a Media3 MediaController important information is removed for privacy reason. To look up the fully populated MediaItem the mediaId is used as a key. Hence having the mediaId marhalled to the JSON representation that is sent to a Cast device enables app developers to use the same look up facilities. #minor-release PiperOrigin-RevId: 420022868
bachinger committed -
Remove wasInitialized in favor of using allocation's nullability to represent the initialization state. PiperOrigin-RevId: 420011311
aquilescanta committed -
PiperOrigin-RevId: 419864140
bachinger committed -
Only allowing TransformationExceptions to be created using the factory methods helps keeping error messages consistent. This is consistent with ExoPlaybackException. PiperOrigin-RevId: 419841025
hschlueter committed -
PiperOrigin-RevId: 419827570
bachinger committed
-
- 05 Jan, 2022 12 commits
-
-
The common module now defines all other released targets as constraints, which ensures they must have matching versions. As all other libraries indirectly depend on the common module, this declaration is only needed in here. PiperOrigin-RevId: 419776578
tonihei committed -
A session may not notify its release back to the controller when the controller is connecting while the session is releasing. Here are issues in detail: - MediaSession doesn't respond to controller's connection request when it's released. - MediaSession discards incoming connection requests when it's released. The requests are only kept in the application looper, but the looper is cleared when the session is released. This CL fixes the above issues, and fixes some flaky tests. PiperOrigin-RevId: 419756158jaewan committed -
The UI component will be switched over to use them in a subsequent commit, once the translations have been imported. Issue: google/ExoPlayer#9811 PiperOrigin-RevId: 419632617
olly committed -
PiperOrigin-RevId: 419629912
claincly committed -
Compensate for aspect ratio of input frames, so that they're applied on rectangular frames instead of square normalized-device-coordinate frames. This fixes distortion most visible when rotating any GL video 45° (non-rectangular frames) or 90° (stretched frames) Tested by rotating several landscape/portrait demo videos. (Automated tests will follow in <unknown commit>) PiperOrigin-RevId: 419619743
huangdarwin committed -
* Move checking that the output format is supported by the muxer from supportsFormat (which deals with the input format) to ensureConfigured. * Add maps for the supported MIME types so that the muxer can return what MIME types it supports rather than just check a MIME type. PiperOrigin-RevId: 419578165
hschlueter committed -
PiperOrigin-RevId: 418960700
olly committed -
The `main` role distinguishes a track from an `alternate`, but unlike `SELECTION_FLAG_DEFAULT` it doesn't imply the track should be selected unless user preferences state otherwise. e.g. in the case of a text track, the player shouldn't enable subtitle rendering just because a `main` text track is present in the manifest. The `main`/`alternate` distinction is still available through `Format.roleFlags` and the `ROLE_FLAG_MAIN` and `ROLE_FLAG_ALTERNATE` values. This behaviour was originally [added in 2.2.0](https://github.com/google/ExoPlayer/commit/7f967f305718bc2c9ee679fdd7d014eccef0356b), however at the time the `C.RoleFlags` IntDef did not exist. The IntDef was [added in 2.10.0](https://github.com/google/ExoPlayer/commit/a86a9137be5f0ed89de3d68f4c4800a7753cc881). PiperOrigin-RevId: 418937747
ibaker committed -
PiperOrigin-RevId: 418820557
hschlueter committed -
* @CryptoType is a TYPE_USE annotation, so should appear after modifiers and directly before the type. PiperOrigin-RevId: 418814902
olly committed -
* @Override is not a TYPE_USE annotation, so should appear before any modifiers and after Javadocs. @CryptoType is a TYPE_USE annotation, so should appear after modifiers and directly before the type. PiperOrigin-RevId: 418811744
olly committed -
Before this change we checked whether the playback state and playWhenReady have changed when the state from the cast device arrived. If we detected such a change we called the listener callback `onIsPlayingChanged`. However, in the case when `setPlayWhenReady(boolean)` is called on 'CastPlayer', we mask the change in `playWhenReady`, then send the play/pause request to the cast device and when the state from the cast device arrives we never detect a change because we have already masked `playWhenReady`. This change now moves the check for `isPlaying` to the same place where the state and playWhenReady is updated, so we call the `onIsPlayingChanged` callback in either case, when masking or when a changed state from the server arrives. Issue: google/ExoPlayer#9792 PiperOrigin-RevId: 418483509
bachinger committed
-