- 15 Jun, 2022 13 commits
-
-
PiperOrigin-RevId: 455157744
christosts committed -
#minor-release PiperOrigin-RevId: 455140203
tonihei committed -
Issue: google/ExoPlayer#10287 PiperOrigin-RevId: 455131138
olly committed -
#minor-release PiperOrigin-RevId: 455128997
bachinger committed -
PiperOrigin-RevId: 455121899
olly committed -
PiperOrigin-RevId: 455114693
hschlueter committed -
This change adds a SurfaceProvider interface which is necessary to allow for texture processors whose output size becomes available asynchronously in follow-ups. VTSP's implementation of this interface wraps the encoder and provides its input surface together with the output frame width, height, and orientation as used for encoder configuration. The FrameProcessorChain converts the output frames to the provided orientation and resolution using a ScaleToFitTransformation and Presentation replacing EncoderCompatibilityTransformation. PiperOrigin-RevId: 455112598
hschlueter committed -
- Fixed MidiExtractor state issues which caused seeking to behave unexpectedly. Ensures the extractor is now always in the file loading state after returning RESULT_END_OF_INPUT. - Fixed an infinite loop in MidiExtractor caused by the file data array having an initial size of 0. The extractor attempted to increase the capacity of the array by using this size of 0 in it's calculations. PiperOrigin-RevId: 455107511
hmzh committed -
PiperOrigin-RevId: 455094147
Marc Baechinger committed -
PiperOrigin-RevId: 454951844
bachinger committed -
See https://issuetracker.google.com/208178382 PiperOrigin-RevId: 454949204
bachinger committed -
PiperOrigin-RevId: 454945333
bachinger committed -
PiperOrigin-RevId: 454939082
bachinger committed
-
- 14 Jun, 2022 4 commits
-
-
#minor-release PiperOrigin-RevId: 454884692
christosts committed -
PiperOrigin-RevId: 454641746
Marc Baechinger committed -
to support enabling this as a compile-time error. More information: go/lsc-extends-object PiperOrigin-RevId: 454582570
olly committed -
PiperOrigin-RevId: 454573995
olly committed
-
- 13 Jun, 2022 5 commits
-
-
The default constructor is only allowed to be called on API < 32 and the test should use the defined UNSET constant to be API independent. #minor-release PiperOrigin-RevId: 454568893
tonihei committed -
It's no longer needed PiperOrigin-RevId: 454161070
ibaker committed -
We need to request the external storage permission to access these PiperOrigin-RevId: 454160546
olly committed -
The native GL errors are in an arbitrary order according to https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetError.xml This means any of them could contain the most useful message so it's better to use all for the GlException's message rather than picking the last message and logging all others. PiperOrigin-RevId: 454130460
hschlueter committed -
`codecDrainAction` is set to `DRAIN_ACTION_NONE` in 3 places in `MediaCodecRenderer`: * The constructor (so there's no prior state to worry about) * `updateDrmSessionV23()`: Where `mediaCrypto` is reconfigured based on `sourceDrmSession` and `codecDrmSession` is also updated to `sourceDrmSession`. * `resetCodecStateForFlush()`: Where (before this change) the action is unconditionally set back to `DRAIN_ACTION_NONE` and so any required updated implied by `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is not done. This change ensures that `flushOrReleaseCodec()` handles `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` before calling . This probably also resolves Issue: google/ExoPlayer#10274 #minor-release PiperOrigin-RevId: 454114428
ibaker committed
-
- 09 Jun, 2022 15 commits
-
-
Based on https://developer.android.com/reference/android/media/MediaCodec#using-an-output-surface, frame dropping behaviour depends on the target SDK version. After this change transformer will only use MediaFormat#KEY_ALLOW_FRAME_DROP if both the target and system SDK version are at least 29 and default to its pre 29 behaviour where each decoder output frame must be processed before a new one is rendered to prevent frame dropping otherwise. Also remove deprecated Transformer.Builder constructor without a context and the context setter. PiperOrigin-RevId: 453971097
hschlueter committed -
Transformer always enabled glAssertionsEnabled, so there should be no functional change. ExoPlayer previously disabled glAssertionsEnabled, so GlUtil logged GlExceptions instead of throwing them. The GlExceptions are now caught and logged by the callers so that there should also be no functional change overall. This change also replaces EGLSurfaceTexture#GlException with GlUtil#GlException. PiperOrigin-RevId: 453963741
hschlueter committed -
The track selector will select multi-channel formats when those can be spatialized, otherwise the selector will prefer stereo/mono audio tracks. When the device supports audio spatialization (Android 12L+), the DefaultTrackSelector will monitor for changes in the platform Spatializer and trigger a new track selection upon a Spatializer change event. Devices with a `television` UI mode are excluded from audio channel count constraints. #minor-release PiperOrigin-RevId: 453957269
christosts committed -
This change fixes a bug where the player is frozen with HLS chunkless preparation because the audio stream wrappers are not marked as master timestamp sources before preparation. #minor-release PiperOrigin-RevId: 453941815
christosts committed -
PiperOrigin-RevId: 453933854
claincly committed -
PiperOrigin-RevId: 453905355
Marc Baechinger committed -
Some Player implementations have no playlist capability but can still set a MediaItem for playback. Examples are a MediaController connected to a legacy MediaSession, ExoPlayer up to 2.12 or MediaPlayer. To indicate this capability, we need an allowed command in addition to COMMAND_CHANGE_MEDIA_ITEMS that just allows to set a single item that replaces everything that is currently played. #minor-release PiperOrigin-RevId: 453879626
tonihei committed -
This removes the prior restriction of needing to remember not to crop and set aspect ratio in the same Presentation.Builder, and makes each class a bit more targeted. This is partially made feasible by the past work to merge consecutive MatrixTransformations into a single MatrixTransformationFrameProcessor, which ensures that there's no loss in quality between successive MatrixTransformations. PiperOrigin-RevId: 453660582
huangdarwin committed -
With HLS chunkless preparation, audio formats may have no value for channel count. In this case, the DefaultAudioSink will either query the platform for a supported channel count (API 29+) or assume a max channel count based on the encoding spec in order to decide whether the audio format can be played with audio passthrough. Issue: google/ExoPlayer#10204 #minor-release PiperOrigin-RevId: 453644548
christosts committed -
PiperOrigin-RevId: 453633920
hschlueter committed -
SingleFrameGlTextureProcessor is now an abstract class containing a default implementation of the more flexible GlTextureProcessor interface while still exposing the same simple abstract methods for single frame processing it previously did. FrameProcessorChain and GlEffect will be changed to use GlTextureProcessor in follow-ups. PiperOrigin-RevId: 453633000
hschlueter committed -
#minor-release PiperOrigin-RevId: 453622964
ibaker committed -
PiperOrigin-RevId: 453510883
olly committed -
PiperOrigin-RevId: 453490088
Marc Baechinger committed -
#minor-release PiperOrigin-RevId: 453408087
christosts committed
-
- 08 Jun, 2022 2 commits
- 07 Jun, 2022 1 commit
-
-
The current setup with distinct, private `keyForField` implementations, leaves open the (theoretical) possibility of a clash in the `Bundle` keys used by the superclass and subclass. This change brings consistency with our only other extensible `Bundleable` type (`PlaybackException`). #minor-release PiperOrigin-RevId: 453385875
ibaker committed
-