- 26 Nov, 2021 20 commits
-
-
Deprecates setContext() and moves the required Context arg into the constructor. This way, the parameter can later be final and non-null, per the comment at: http://go/https://github.com/google/ExoPlayer/commit/ecb47ba5647a7622fc73c09ac37f4e8b3b450cec/depot/google3/third_party/java_src/android_libs/media/libraries/transformer/src/main/java/androidx/media3/transformer/TranscodingTransformer.java?left=s19&right=r12#97L Also, fixes setOutputMimeType_unsupportedMimeType_throws by providing a context in the builder, and updating the FrameworkMuxer#supportsOutputMimeType to catch IllegalArgumentExceptions thrown by FrameworkMuxer#mimeTypeToMuxerOutputFormat. PiperOrigin-RevId: 412053564
huangdarwin committed -
Fixes the gradle compilation failures. Gradle dependencies need revising if we want to be using this, as checkerframework is ahead of their latest version, such that we can't compile. PiperOrigin-RevId: 412004021
samrobinson committed -
This change moves methods that are the same in `TransformerAudioRenderer` and `TransformerVideoRenderer` to `TransformerBaseRenderer`. PiperOrigin-RevId: 411758928
hschlueter committed -
This inheritance is really confusing because ExoPlayerImpl is not a full Player interface implementation. It also claims to be an ExoPlayer implementation in the Javadoc which isn't true in its current state. Removing the inheritance also allows to clean up some unused methods. PiperOrigin-RevId: 411756963
tonihei committed -
PiperOrigin-RevId: 411751425
kimvde committed -
This is documented on the setter already, but it seems to make sense to do this in the constructor as well for clarity. Issue: google/ExoPlayer#9550 PiperOrigin-RevId: 411675700
bachinger committed -
PiperOrigin-RevId: 411657479
bachinger committed -
Before this change ExpPlayerImplInternal dropped a change of the playing period when a change in the timeline occurred that actually changed the playing period but we don't want to update the period queue. This logic also dropped the update of a skipped server side inserted preroll ad for which we want the periodQueue to 'seek' to the stream position after the preroll ad and trigger a SKIP discontinuity. This change now introduces an exception so that a skipped SSI ad is still causing an update in the period queue which leads to a 'seek' and a discontinuity of type SKIP. PiperOrigin-RevId: 411607299
bachinger committed -
Issue: google/ExoPlayer#9710 PiperOrigin-RevId: 411568601
tonihei committed -
Test failure message now also reports the number of different sizes. PiperOrigin-RevId: 411529648
samrobinson committed -
PiperOrigin-RevId: 411526089
samrobinson committed -
After removing the deprecated call to player.stop(/* reset= */ true) and instead using two calls to the player, overridding stop in a ForwardingPlayer does not help to avoid clearing the player. To remove the deprecation we need an option so that users who want not to clear the player have a way to do so. PiperOrigin-RevId: 411518090
bachinger committed -
PiperOrigin-RevId: 411517319
tonihei committed -
Document that apps should retain `GlUtil.Program` while the program is in use, and keep a reference to attributes/uniforms within the program to make sure they don't get GC'd causing any allocated buffers passed to GL to become invalid. Tested manually by running gldemo and transformer. PiperOrigin-RevId: 411516894
andrewlewis committed -
This should have been done in https://github.com/google/ExoPlayer/commit/098c3a010edb2461b65496b1229bd08b14b0f0d6 PiperOrigin-RevId: 411073049
ibaker committed -
The features supported by `TranscodingTransformer` are a superset of those supported by `Transformer` after merging the video renderers in <unknown commit>. This change removes `TranscodingTransformer` and adds its features to `Transformer`. PiperOrigin-RevId: 411072392
hschlueter committed -
Follow-up to a comment on https://github.com/google/ExoPlayer/commit/6f0f7dd1be40c81cb056d82215ceabdd5a8a2a1a: Buffers that are useful to pass to the sample/passthrough pipeline should either contain data or the end of input flag. Otherwise, passing these buffers along is unnecessary and may even cause the decoder to allocate a new input buffer which is wasteful. PiperOrigin-RevId: 411060709
hschlueter committed -
PiperOrigin-RevId: 411056555
kim-vde committed -
PiperOrigin-RevId: 411047838
christosts committed -
PiperOrigin-RevId: 411047184
tonihei committed
-
- 19 Nov, 2021 10 commits
-
-
The player will not play ads in final states (played, skipped, error) again. To allow ads loader customizations to play ads again, we can add a method that resets the state back to available or unavailable (depending on whether we have the URI for the ad). Issue: google/ExoPlayer#9615 PiperOrigin-RevId: 411042842
tonihei committed -
PiperOrigin-RevId: 411041225
tonihei committed -
This requires some plumbing through DashMediaPeriod and DashChunkSource. PiperOrigin-RevId: 411012115
tonihei committed -
PiperOrigin-RevId: 411010270
kimvde committed -
PiperOrigin-RevId: 411006397
ibaker committed -
This requires some plumbing through HlsMediaPeriod and HlsChunkSource. PiperOrigin-RevId: 411004283
tonihei committed -
Currently, DrmSessionManager takes player specific values (= the playback looper) through (pre)acquireSession calls and requires the caller to pass in the same values every time. Instead, we can configure the DrmSessionManager for playback with a player once before it's being used. We can't simply extend the prepare() method as prepare may be called before the player is created to prewarm the DrmSessionManager. The new method also takes a PlayerId which is bound to the lifetime of the player similar to the playback looper. To avoid breakage of custom MediaSources with DRM, we can keep the old the SampleQueue.createWithDrm method as deprecated. PiperOrigin-RevId: 410998240
tonihei committed -
There has been many issue recently about tunneling that have no obvious solutions and we don't have the bandwidth to dive into the platform root cause. - https://github.com/google/ExoPlayer/issues/9661 - https://github.com/google/ExoPlayer/issues/9133 - https://github.com/google/ExoPlayer/issues/9317 - https://github.com/google/ExoPlayer/issues/9502 PiperOrigin-RevId: 410834262
krocard committed -
tonihei committed
-
r2.16.1
tonihei committed
-
- 18 Nov, 2021 10 commits
-
-
PiperOrigin-RevId: 410819003
tonihei committed -
The `SefSlowMotionVideoSampleTransformer` drops frames by setting `buffer.data = null` and updates the timestamps of the frames it keeps. However, these buffers with dropped frames are still used in the pipeline as they may contain other useful information, specifically whether the end of the input has been reached. So, the timestamps should also be updated for the buffers where frames are dropped. PiperOrigin-RevId: 410797678
hschlueter committed -
https://github.com/google/ExoPlayertonihei committed
-
https://github.com/google/ExoPlayertonihei committed
-
https://github.com/google/ExoPlayertonihei committed
-
tonihei committed
-
tonihei committed
-
PiperOrigin-RevId: 410507648
ibaker committed -
StyledPlayerControlView can't really be used on its own (like PlayerControlView was used here), so we instead use the same StyledPlayerView instance for both local and casted playback, replacing the content with a cast icon while casting. PiperOrigin-RevId: 410764338
ibaker committed -
The GL program needs to be used before accessing its attributes. #minor-release PiperOrigin-RevId: 410768017
andrewlewis committed
-