- 27 Apr, 2021 3 commits
-
-
Allow ExoPlayer to open URIs starting with rtsp:// PiperOrigin-RevId: 370653248
claincly committed -
The ForwardingPlayer implements the Player interface and forwards all operations to another Player instance. Apps will be able to override methods of ForwardinPlayer in order to modify and/or suppress specific Player funcionalities. This commit introduces the ForwardingPlayer which simply forwards all Player operations to another Player instance. In follow-up changes, the ForwardingPlayer will be extended so that it eventually reaches the feature-set offered by ControlDispatcher. PiperOrigin-RevId: 370653167
christosts committed -
Release is a life cycle operation that should only be called when the player is no longer needed. It's linked to the player lifecycle and thus very different from prepare/stop. As a result, it should not be in the same command. Additionally it's not clear if remote players will ever need to call release, as the player creator is best candidate to release it. As a result the release operation doesn't have a use case for a command. A release command can be added later if a need is identified. PiperOrigin-RevId: 370649214
krocard committed
-
- 26 Apr, 2021 13 commits
-
-
We remove other source related listeners if a MediaSource is removed from the playlist or the player/source is released. This isn't currently done for the DRM listener. #minor-release PiperOrigin-RevId: 370482571
tonihei committed -
The DebugMediaCodecVideoRenderer expects the MediaCodec to return an output format change after the MediaCodecRenderer detects an input format change, but the DebugMediaCodecVideoRenderer resets its state after flushing MediaCodec. This does not cover the following case: an input format change is detected when queueing sample with timestamp X and before the respective output buffer is dequeued, the player seeks back to X. After seeking back to X, the MCR does not trigger an input format change for X again, and MediaCodec (correctly) returns an output format change before dequeueing output X. This commit is changing DebugMediaCodecVideoRenderer to keep expecting an output format change after a flush, is one a format pending output. Such an an edge-case is addressed already in MediaCodecRenderer. PiperOrigin-RevId: 370482506
christosts committed -
PiperOrigin-RevId: 370474795
Andrew Lewis committed -
MediaCodecRenderer is calling its protected methods resetCodecStateForRelease() and resetCodecStateForFlush() from its constructor. Classess that override the methods (eg. DebugMediaCodecVideoRenderer) need to checks if the methods are called from the superclass constructor thus their members are not initialized yet. With this change, the MCR constructor does not call the two methods and sets the respective state directly on its fields. PiperOrigin-RevId: 370445978
christosts committed -
PiperOrigin-RevId: 370439509
samrobinson committed -
There is a bug when CronetDataSource opens an asset with a length bigger that Integer.MAX_INT (2147483647 bytes, ~2GB). In read(), `bytesRemaining` is cast to int, which overflows and evaluates to a negative number, causing `bytesRead` to be negative too. PiperOrigin-RevId: 370434368
christosts committed -
After refactoring MediaCodecRenderer's configureCodec() to getMediaCodecConfiguration(), there was some state initialization left in DebugMediaCodecVideoRenderer's configureCodec(). This is now moved inside DebugMediaCodecVideoRenderer.onCodecInitialized(). PiperOrigin-RevId: 370430193
christosts committed -
Remove references to deprecated methods. I didn't replace the DRM info with references to non-deprecated methods because I'm not sure it belongs at class level. The methods themselves are already documented in detail. PiperOrigin-RevId: 370421087
ibaker committed -
This will help app developers identify which thread is being used and which is expected. PiperOrigin-RevId: 370409697
ibaker committed -
PiperOrigin-RevId: 370407108
Andrew Lewis committed -
* @Nullable is not a TYPE_USE annotation, so should appear before any modifiers and after Javadocs. (see go/java-style#s4.8.5-annotations) This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Suggest a fix on the CL (go/how-to-suggest-fix). * Revert this CL, by replying "REVERT: <provide reason>" * File a bug under go/error-prone-bug for category ErrorProneStyle if the change looks generally problematic. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/exoplayer/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth PiperOrigin-RevId: 370377751
olly committed -
Add method getAvailableCommands() in Player interface to return the available commands. Method isCommandAvailable() moved to BasePlayer since it can be implelented by calling getAvailableCommands(). PiperOrigin-RevId: 370059328
christosts committed -
* @Encoding is not a TYPE_USE annotation, so should appear before any modifiers and after Javadocs. (see go/java-style#s4.8.5-annotations) (2 times) * @Nullable is not a TYPE_USE annotation, so should appear before any modifiers and after Javadocs. (see go/java-style#s4.8.5-annotations) (2 times) This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Suggest a fix on the CL (go/how-to-suggest-fix). * Revert this CL, by replying "REVERT: <provide reason>" * File a bug under go/error-prone-bug for category ErrorProneStyle if the change looks generally problematic. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/exoplayer/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth PiperOrigin-RevId: 370048160
olly committed
-
- 23 Apr, 2021 1 commit
-
-
PiperOrigin-RevId: 369934240
olly committed
-
- 22 Apr, 2021 2 commits
-
-
Abel Jimenez committed
-
Abel Jimenez committed
-
- 21 Apr, 2021 20 commits
-
-
Issue: #8845 PiperOrigin-RevId: 369685031
olly committed -
PiperOrigin-RevId: 369671127
samrobinson committed -
Also consolidate the threading warning info with the same info on the hello world page and update the version that the setThrowsWhenUsingWrongThread() method will be removed in. PiperOrigin-RevId: 369657759
ibaker committed -
Remove spurious blank lines introduced in https://github.com/google/ExoPlayer/commit/dafea4e40fb5eba91597cf16cab06140ebaaaff4 PiperOrigin-RevId: 369648457
ibaker committed -
PiperOrigin-RevId: 369642047
ibaker committed -
PiperOrigin-RevId: 369635363
olly committed -
A subsequent change will make the UI module access SphericalGLSurfaceView and VideoDecoderGLSurfaceView using reflection, now we're at the point where we only need to reflect the constructors. PiperOrigin-RevId: 369630102
olly committed -
PiperOrigin-RevId: 369626542
olly committed -
PiperOrigin-RevId: 369615413
olly committed -
andrewlewis committed
-
PiperOrigin-RevId: 369609585
andrewlewis committed -
https://github.com/google/ExoPlayer/commit/09096d6fbf5532728ab675d2d1ccefc3daa0bb03
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/e60609e34447553474cdfc86b2dee5462316b10c *** Original commit *** Prevent creation of new sessions if the Timeline is empty. We currently create sessions based on the placeholder window index. This shouldn't be needed as we now set a non-empty timeline as soon as the first MediaItem... *** PiperOrigin-RevId: 369609523
tonihei committed -
See go/media-apis-codebase-google3. PiperOrigin-RevId: 369603286
andrewlewis committed -
Issue: #8804 PiperOrigin-RevId: 369484117
olly committed -
The protected visibility causes problems in Kotlin (Issue: #8830) and also prevents a subclass of AdaptiveTrackSelection.Factory that isn't nested inside a subclass of AdaptiveTrackSelection (in both Java and Kotlin). #minor-release PiperOrigin-RevId: 369468841
ibaker committed -
https://github.com/google/ExoPlayer/commit/e60609e34447553474cdfc86b2dee5462316b10c
*** Original commit *** Prevent creation of new sessions if the Timeline is empty. We currently create sessions based on the placeholder window index. This shouldn't be needed as we now set a non-empty timeline as soon as the first MediaItem is added to the playlist. Once this check is part of the session manager, we can also remove the equivalent workarounds from the various code integrations. *** PiperOrigin-RevId: 369452067
olly committed -
PiperOrigin-RevId: 369444747
olly committed -
PiperOrigin-RevId: 369443204
andrewlewis committed -
PiperOrigin-RevId: 369442687
olly committed -
This method shouldn't be used anymore since the thread enforcement is the default already. We still keep it for now to ease the transition for apps that use ExoPlayer on multiple threads and want to temporarily disable the enforcement while the threading problems are fixed. PiperOrigin-RevId: 369440789
tonihei committed
-
- 20 Apr, 2021 1 commit
-
-
PiperOrigin-RevId: 369433627
olly committed
-