- 04 Feb, 2022 21 commits
-
-
This makes the delegation model more explicit, and prevents the javadoc compiler from just pulling in the Player javadoc automatically - which can lead to some confusion when some method definitions in Player depend on other methods (e.g. seekForward() is defined in terms of getSeekForwardIncrement()). Issue: google/ExoPlayer#9897 #minor-release PiperOrigin-RevId: 426359004
ibaker committed -
These were messed up in https://github.com/google/ExoPlayer/commit/74c6ef9ba096fe64e767a739b97debca5185a375 Also suppress deprecation warnings when we're just forwarding a deprecated method to the delegate. #minor-release PiperOrigin-RevId: 426351791
ibaker committed -
This type is still known as PlayerView in exoplayer2 #minor-release PiperOrigin-RevId: 426348286
ibaker committed -
This allows us to remove the IMA naming from DefaultMediaSourceFactory's SSAI integration. #minor-release PiperOrigin-RevId: 426346456
ibaker committed -
We use the top priority encoder (sorted by EncoderSelector) and the requested output format for encoding. PiperOrigin-RevId: 426191800
claincly committed -
This change makes GlUtil.Program an outer class named GlProgram, and also moves private static helpers as well as the inner classes Attribute and Uniform which were only used by GlUtil.Program to GlProgram. Other static utility methods remain in GlUtil. No functional changes intended. PiperOrigin-RevId: 426119299
hschlueter committed -
PiperOrigin-RevId: 426113559
kimvde committed -
The longer list of targets is only necessary for backwards compatibility with existing Kotlin code that will stop compiling if the position of the annotation becomes 'wrong' by marking it only TYPE_USE. Since none of these IntDefs have been released (except in media3 alpha1) we don't need to maintain this compatibility. Also add a comment to all the places that *do* need the longer list of targets, in order to explain why it's there and discourage copy-pasting when defining new IntDefs in future. Also fix some single-element arrays to remove the array notation. #minor-release PiperOrigin-RevId: 426108537
ibaker committed -
The listener will automatically forward diagnostics info to the Android platform. ExoPlayer.Builder gets a new setter that allows to disable this feature if required. #minor-release PiperOrigin-RevId: 426099872
tonihei committed -
Remove most of the customisation documentation, since StyledPlayerView isn't really designed to be customised as deeply as PlayerView. Also remove most documentation around StyledPlayerControlView, especially as a standalone controller class - since it doesn't work well for this use-case. #minor-release PiperOrigin-RevId: 426090762
ibaker committed -
PiperOrigin-RevId: 426089165
tonihei committed -
- The MIME type should ideally default to HEVC if there is an encoder for it. - Next, check if AVC is supported. - If there is no encoder for AVC, then we should pick an encoder in the list of existing encoders instead of abandoning the transformation. PiperOrigin-RevId: 425900638
claincly committed -
PiperOrigin-RevId: 425885803
andrewlewis committed -
PiperOrigin-RevId: 425882755
samrobinson committed -
PiperOrigin-RevId: 425874534
ibaker committed -
PiperOrigin-RevId: 425871885
claincly committed -
PiperOrigin-RevId: 425863658
samrobinson committed -
This allows the same DefaultMediaSourceFactory instance to be used as the contentMediaSourceFactory inside ImaServerSideAdInsertionMediaSource. PiperOrigin-RevId: 425846609
ibaker committed -
PiperOrigin-RevId: 425845144
kimvde committed -
#minor-release PiperOrigin-RevId: 425842813
bachinger committed -
PiperOrigin-RevId: 425838647
claincly committed
-
- 02 Feb, 2022 12 commits
-
-
This makes SimpleExoPlayer a simple forwarding wrapper which can be removed in the future. The changes are all purely mechanical with none of the potential further simplifications made yet. The only exceptions are name clashes where either EPI or SEP was calling a method in one of the classes and both classes had different implementations for the same method name. In these cases we needed to disambiguate between the two different implementations (example: ExoPlayerImpl.setListener was renamed to setEventListener). #minor-release PiperOrigin-RevId: 425823095
tonihei committed -
Tested by confirming transformations still work and write to a output file in a scoped-storage directory on a: * Nexus 6P API 23 emulator * Google Pixel 4 API 31 physical device PiperOrigin-RevId: 425644266
huangdarwin committed -
On devices with a smaller screen / low resolution not all options fit, so scrolling is needed. PiperOrigin-RevId: 425635224
hschlueter committed -
More info: go/immutable-map-buildorthrow-lsc NOTE: if the source of truth for this code is *NOT* `third_party`, please let me know and I'll revert this CL (and please consider upstreaming this change yourself). #inlineme Tested: TAP for global presubmit queue passed after automated deflaking of failures: http://mondo/deflaker/run/530857d2-45cb-4069-a234-48c5efe945f1 http://mondo/deflaker/run/0dce4296-e6bb-42d2-8b64-b393f45b6ad3 http://test/OCL:425453729:BASE:425451020:1643699365244:811c1a24 PiperOrigin-RevId: 425616165olly committed -
Introduce an interface EncoderSelector for developers to filter out unwanted encoders. PiperOrigin-RevId: 425611421
claincly committed -
In some cases we create empty playback metrics with no corresponding events (e.g. when an app seeks to a new media item and immediately releases the player). There is no benefit in having completely empty metrics entries, so it's cleaner to not report them in such cases. #minor-release PiperOrigin-RevId: 425609010
tonihei committed -
To fix transformer demo + Nexus emulator bug. #minor-release PiperOrigin-RevId: 425603703
huangdarwin committed -
PiperOrigin-RevId: 425595951
olly committed -
#minor-release PiperOrigin-RevId: 425589448
bachinger committed -
- Add a checkbox in the demo app to enable experimental HDR editing. - Add an `experimental_` method to `TransformationRequest` to enable HDR editing. - Add fragment/vertex shaders for the experimental HDR pipeline. The main difference compared to the existing shaders is that we sample from the decoder in YUV rather than RGB (because the YUV -> RGB conversion in the graphics driver is not precisely defined, so we need to do this to get consistent results), which requires the use of ES 3, and then do a crude YUV -> RGB conversion in the shader (ignoring the input color primaries for now). - When HDR editing is enabled, we force using `FrameEditor` (no passthrough) to avoid the need to select another edit operation, and use the new shaders. The `EGLContext` and `EGLSurface` also need to be set up differently for this path. PiperOrigin-RevId: 425570639
andrewlewis committed -
PiperOrigin-RevId: 425562875
kimvde committed -
Issue: google/ExoPlayer#8213 #minor-release PiperOrigin-RevId: 425381474
ibaker committed
-
- 01 Feb, 2022 7 commits
-
-
TransformerTest sounds like a unit test for Transformer but these tests test behaviour that involves multiple stages of the pipeline. PiperOrigin-RevId: 425378369
hschlueter committed -
PiperOrigin-RevId: 425341138
kimvde committed -
Add a constructor that takes a DrmSessionManagerProvider. This allows R8 to strip the default implementation. #minor-release PiperOrigin-RevId: 425330083
krocard committed -
Some phone with limited memory can't allocate bigger shared memory buffers. This might or might not be related to Binder's 1M transaction limit. Tested on Pixel 4 by setting the minimum buffer size to 1h. https://github.com/google/ExoPlayer/issues/9712 #minor-release PiperOrigin-RevId: 425324536
krocard committed -
This makes sure the number of ads in an ad group matches to the number of periods representing an ad group in a multi-period timeline. This makes it easier to accurately mark ads as played in multi-period windows which is needed to correctly prevent seeking over unplayed ads. PiperOrigin-RevId: 425317085
bachinger committed -
If a) the end of stream buffer arrives with a frame rather than an empty buffer or b) processDataV29() renders several decoder output buffers to the FrameEditor's input Surface immediately before encountering the EOS flag these frames were previously stuck in the FrameEditor's input Surface and never fed to the encoder. PiperOrigin-RevId: 424898820hschlueter committed -
This test tests that all frames are processed when transcoding video to a different sample MIME type (and that the transformation completes successfully). PiperOrigin-RevId: 424896014
hschlueter committed
-