- 22 Nov, 2022 2 commits
-
-
These flags ensure that any errors cause the script to exit (instead of just carrying on) (`-e`) and that any unrecognised substitution variables cause an error instead of silently resolving to an empty string (`-u`). Issues like Issue: google/ExoPlayer#10791 should be more quickly resolved with `set -e` because the script will clearly fail with an error like `make: command not found` which would give the user a clear pointer towards the cause of the problem. #minor-release PiperOrigin-RevId: 490001419
ibaker committed -
PiperOrigin-RevId: 489984147
kimvde committed
-
- 21 Nov, 2022 18 commits
-
-
#minor-release PiperOrigin-RevId: 489959918
michaelkatz committed -
Previously, FrameProcessor never had the usecase in which the output surface is replaced, while previewing introduced this usecase. When switching output surfaces, we need to destroy the EGL Surface linked to the surface that is being swapped out, because an EGL surface is linked to the EGL display (which is not destroyed even when releasing FrameProcessor). A GL exception will be thrown in the following scenario if we don't destroy the EGL surface: 1. Creates a Surface, the surface is identified by address 0x11 2. Sets Surface(0x11) on FrameProcessor. Eventually an EGL surface is created to wrap Surface(0x11) 3. Release FrameProcess, this releases the EGL context 4. Instantiate a new FrameProcessor, sets Surface(0x11) as the output 5. When FrameProcessor creates an EGL surface to wrap Surface(0x11), GL throws an exception, becasue Surface(0x11) has previouly been connected to an EGL surface. PiperOrigin-RevId: 489590072
claincly committed -
This adds the full Builders and State representation needed to implement all Player getter methods and listener invocations. PiperOrigin-RevId: 489503319
tonihei committed -
PiperOrigin-RevId: 489442518
kimvde committed -
When estimating the AudioTrack min buffer size, we must use a PCM frame of 1 when doing direct playback (passthrough). The code was passing -1 (C.LENGTH_UNSET). PiperOrigin-RevId: 489238392
christosts committed -
Issue: google/ExoPlayer#10756 PiperOrigin-RevId: 489236336
tonihei committed -
I considered moving this enforcement inside the ExoPlayerImpl implementation, but it might lead to app crashes in cases that apps (incorrectly) call a released player, but it wasn't actually causing a problem. PiperOrigin-RevId: 489233917
ibaker committed -
This tag is only understood by Dackka, which is used to generate the media3 javadoc. PiperOrigin-RevId: 489233200
ibaker committed -
PiperOrigin-RevId: 489216085
tofunmi committed -
PiperOrigin-RevId: 489212224
tofunmi committed -
They are called from the system only and don't need to be exported to be visible to other apps. PiperOrigin-RevId: 489210264
tonihei committed -
#minor-release PiperOrigin-RevId: 489202167
michaelkatz committed -
PiperOrigin-RevId: 489174645
kimvde committed -
This thread will become the Transformer internal thread. PiperOrigin-RevId: 489168435
kimvde committed -
PiperOrigin-RevId: 488981968
kimvde committed -
The method allows clients to specify a pre-existing thread to use for playback. This can be used to run multiple ExoPlayer instances on the same playback thread. PiperOrigin-RevId: 488980749
Googler committed -
PiperOrigin-RevId: 488970696
Googler committed -
PiperOrigin-RevId: 488929446
kimvde committed
-
- 16 Nov, 2022 9 commits
-
-
`availableFrameCount` tracks the number of frames that is avilable on the `SurfaceTexture`, but haven't been used (by `updateTexImage()`) yet. Thus semantically this counter should only be decremented after calling `updateTexImage()`, not before it. Also reworded `getPendingFrameCount()` javadoc, "external texture" is an internal state that is not publicised anywhere. PiperOrigin-RevId: 488765174
claincly committed -
This is a simpler API to use than the prior tone mapping, HDR editing, and forceInterpretHdrAsSdr options PiperOrigin-RevId: 488742391
huangdarwin committed -
This better matches the callback name (onSurfaceSizeChanged) and probably cause less confusion with getVideoSize. PiperOrigin-RevId: 488669786
tonihei committed -
Util.getAudioTrackChannelConfig() maps a channel count to a channel mask that is passed to AudioTrack. The method expected that playback of 8-channel audio is possible from Android 5.1 and playback of 12-channel audio is only possible from Android 12L. However, there is no restriction on the upper number of channels that can be passed to the AudioTrack. google/ExoPlayer#10701 is an example where the audio decoder outputs 12 channels on an Android 10. This change removes the restrictions for 8 and 12 channels. Note, we still do not support playback of arbitrary number of channels as it would require further changes to DefaultAudioSink. #minor-release Issue: google/ExoPlayer#10701 PiperOrigin-RevId: 488659831
christosts committed -
When we currently trigger the iteration finished event during the release, we don't mark the event as triggered. This means that someone can trigger another release from within the callback, which then tries to resend the event. Issue: google/ExoPlayer#10758 #minor-release PiperOrigin-RevId: 488645089
tonihei committed -
Provides an API for applications to set AudioProcessors for use in Transformer. PiperOrigin-RevId: 488621242
samrobinson committed -
We currently skip this calculation entirely, but it can be added by calculating the window duration using the wrapped window's duration and the provided AdPlaybackState. Issue: google/ExoPlayer#10764 PiperOrigin-RevId: 488614767
tonihei committed -
AssetLoader will have multiple implementations and be customizable. We want to remove the responsibility of computing the progress from this class and centralize the logic in TransformerInternal. PiperOrigin-RevId: 488608890
kimvde committed -
PiperOrigin-RevId: 488412695
samrobinson committed
-
- 14 Nov, 2022 11 commits
-
-
Per documentation, eglCreateWindowSurface creates a new EGL window surface. getEglSurface suggests instead that a pre-existing surface is returned. https://registry.khronos.org/EGL/sdk/docs/man/html/eglCreateWindowSurface.xhtml PiperOrigin-RevId: 488377423
huangdarwin committed -
PiperOrigin-RevId: 488376715
ibaker committed -
Previously, tone-mapping was the default. PiperOrigin-RevId: 488362209
huangdarwin committed -
Also, update API level per the test now using API 31 PiperOrigin-RevId: 488359535
huangdarwin committed -
Add an HLG Pixel 7 Pro video and its associated format for testing. PiperOrigin-RevId: 488353926
huangdarwin committed -
PiperOrigin-RevId: 488310077
kimvde committed -
PiperOrigin-RevId: 487811903
samrobinson committed -
PiperOrigin-RevId: 487786326
huangdarwin committed -
Added new method to check if codec just functionally supports a format. Changed getDecoderInfosSortedByFormatSupport to use new function to order by functional support. This allows decoders that only support functionally and are more preferred by the MediaCodecSelector to keep their preferred position in the sorted list. UnitTests included -Two MediaCodecVideoRenderer tests that verify hw vs sw does not have an effect on sort of the decoder list, it is only based on functional support Issue: google/ExoPlayer#10604 PiperOrigin-RevId: 487779284
michaelkatz committed -
PiperOrigin-RevId: 487779266
ibaker committed -
PiperOrigin-RevId: 487539107
ibaker committed
-