forked from google/ExoPlayer
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev v2 #3
Closed
Closed
Dev v2 #3
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PiperOrigin-RevId: 364861539
The exo_controls_background view is supposed to fill its parent, and so previously used match_parent to do this. However, if the parent uses wrap_content for its own dimensions, the constraints being specified become somewhat ambiguous. The parent is supposed to be sizing itself to wrap its children, and one of the children is supposed to be sizing itself to match the parent. Intuitively for this case, you'd hope that the layout logic would size the parent to wrap its other children, and that the match_parent child would then fill the parent with its determined size. That's not what happens, and instead the parent ends up expanding to occupy all of the space available to it. This commit sets the exo_controls_background view's dimensions to be 0dp in the layout, to stop it from influencing the size of the parent. It's then expanded to fill the parent in code. Issue: #8726 #minor-release PiperOrigin-RevId: 364868301
PiperOrigin-RevId: 364871094
All Player methods should throw NotSupportedException. Making it abstract prevents the compiler catching non implemented methods. PiperOrigin-RevId: 364974387
The BasePlayer implementation of add/remove Listener knows about Components. As those are removed from the Player interface, the implementation of those methods needs to be moved down in Player implementations. This commit makes no functional change. PiperOrigin-RevId: 364985291
The hacky workaround for APIs 29/30 doesn't work on API 31. Instead, we can use the onDisplayInfoChanged callback, that is accessible from API 31. PiperOrigin-RevId: 364997282
PiperOrigin-RevId: 365044658
Fix WebViewSubtitleOutput to respect this (CanvasSubtitleOutput already does). Issue: #8704 PiperOrigin-RevId: 365534018
A TrackGroup must contain the same content in all Formats (except for the quality, encoding etc). Verify that the language and role flags are the same and log an error if don't match. Don't throw to avoid breaking existing use cases that just happen to work by chance. PiperOrigin-RevId: 365539240
PiperOrigin-RevId: 365556167
The extended onPositionDiscontinuity callback can be used to improve some listener classes: - Listening to onTimelineChanged to detect discontinuities is no longer needed. - Listening to onSeekStarted is no longer needed as the start position is part of the onPositionDiscontinuty callback. - The exact old position is also useful for media time history logging. As a side effect, removing onSeekStarted handling from PlaybackStatsListener fixes Issue: #8675 that was caused by the special EventTime handling for onSeekStarted. PiperOrigin-RevId: 365558959
If the player is created on a background thread (which is allowed as the only exception to the access-on-one-thread-only rule), it may happen that a callback on the main thread tries to access the player before the constructor even finished. This is dangerous and can cause exceptions due to uninitialized variables. To solve this, we can make sure that every player access is blocked until the constructor finished. Blocking is safe because the constructor itself is not doing any blocking work or acquiring locks. The thread verification method is already called on every entry point to the player, so we can reuse the same method for checking. PiperOrigin-RevId: 365792949
PiperOrigin-RevId: 365794941
This is generally not supported by our classes. A similar change for audio was made in aa2beb0. PiperOrigin-RevId: 365795371
Aims to achieve visibility parity with MediaCodecRenderer#onQueueInputBuffer. Allows measuring the time when the codec queue the first input buffer in the codec. Which means the Codec has been initialized and is about to start decoding. It also allows measuring how long it takes for the Codec to render its first frame. PiperOrigin-RevId: 365906756
PiperOrigin-RevId: 365992439
The new onPositionDiscontinuity callback contains sufficient information, so that this former workaround to obtain the position before a seek is no longer needed. PiperOrigin-RevId: 365993937
PiperOrigin-RevId: 365998615
PiperOrigin-RevId: 366015326
When playback transitions automatically, the timeline may have changed because the cast device learned about the duration of the next media item and includes this in the new media status that is sent to the CastPlayer. In such a case we need to make sure that we don't report a media item transition with reason PLAYLIST_CHANGED but for reason AUTO. PiperOrigin-RevId: 366025323
The dumped output should include metadata, but doesn't because of Issue: #8710. The fix is in a follow-up change. PiperOrigin-RevId: 366028303
PiperOrigin-RevId: 366033200
Add an allowlist of Metadata.Entry implementations with stable toString overrides. PiperOrigin-RevId: 366037505
Issue: #5246 #minor-release PiperOrigin-RevId: 366041182
Currently they are only released when the timeline becomes non-empty again or the player is released. Issue: #8778 PiperOrigin-RevId: 366041625
Issue: #8710 #minor-release PiperOrigin-RevId: 366051836
PiperOrigin-RevId: 366131005
Fix bug where child does not correctly inherit ancestor's text alignment setting. Make it so that alignment is only applied on a P node. https://www.w3.org/TR/2018/REC-ttml2-20181108/#style-attribute-textAlign
Add the onMediaMetadataChanged event to onEvents. PiperOrigin-RevId: 370738521
PiperOrigin-RevId: 370739641
PiperOrigin-RevId: 370740311
PiperOrigin-RevId: 370875532
Session pre-fetching caused this ordering assertion to no longer be always true. It should have been removed in 795ddfe #minor-release PiperOrigin-RevId: 370880530
#minor-release PiperOrigin-RevId: 370881618
PiperOrigin-RevId: 370897451
PiperOrigin-RevId: 370902227
Rating class should be in the same module as MediaMetadata. Tested: $ ./gradlew --stacktrace :exo-library-common:tDUT $ ./gradlew --stacktrace :media2-session:tDUT $ ./gradlew --stacktrace :media2-session-vct-current:cAT PiperOrigin-RevId: 370902917
PiperOrigin-RevId: 371068549
Move VideoSize in the common module and have the Player return it. `Listener` and `AnalyticsListener` `onVideoSizeChanged` are updated with the old method deprecated. `VideoRendererEventListener.onVideoSizeChanged` was also migrated to `VideoSize` but the old method is removed, not deprecated. This is because: - apps calling/listening to this method is a rare and niche use-case. - it would introduce hard to diagnostic issues where if only the caller or the callee is updated to use the new method, the event will be lost. This doesn't occur with the other 2 listeners as the caller is always in ExoPlayer library and was updated to call both the old and new methods. VideoSize is used everywhere except in `Format` as this would lead to too much refactoring and backward compatibility breakage for little gain. #minor-release PiperOrigin-RevId: 371087419
Before, Looper.myLooper().getThread() could throw an NPE if the current thread didn't have any looper. #minor-release PiperOrigin-RevId: 371097485
PiperOrigin-RevId: 371102614
PiperOrigin-RevId: 371109726
PiperOrigin-RevId: 371135534
This change adds an API in the ForwardingPlayer to disable commands. This is affecting what Player.isCommandAvailable() returns as well as what is being advertised from the EventListener.onAvailableCommandsChanged() callback. For the callback case, the ForwardingPlayer needs to intercept the callback. It does so by wrapping registered EventListener and Listener instances, which resulted in some boiler-plate code. In addition, there is logic on the wrapped listeners to avoid triggering a queued callback if all listeners have been removed in the meantime. This includes the case where new listeners are added while callbacks scheduled for the removed listeners are still pending. PiperOrigin-RevId: 371139703
PiperOrigin-RevId: 371170769
#minor-release PiperOrigin-RevId: 371306241
PiperOrigin-RevId: 371306900
PiperOrigin-RevId: 371307278
All `add*Listener` and `add*Output` methods are deprecated in favor of `addListener`. As for the class themselves `VideoListener` and `AudioListener` are not used internaly by ExoPlayer, `VideoRendererEventListener` and `AudioRendererEventListener` are use in their place. As a result `VideoListener` and `AudioListener` can be deprecated in favor `Listener`. On the other hand `TextOutput` and `MedataOutput` are used both in the player interface and internally in renderers. This means that those class can't be deprecated. There usage in the public interface are indirectly deprecated as their is no way to use them without using the deprecated `add*Output`. Thus it's not an issue that the class themselves are not deprecated. #minor-release PiperOrigin-RevId: 371318268
PiperOrigin-RevId: 371318570
In RtpDataLoadable.load, the second UDP data source is opened on the port we specify. If the port is already in use, a BindException is thrown. #minor-release PiperOrigin-RevId: 371319522
#minor-release PiperOrigin-RevId: 371326814
#minor-release PiperOrigin-RevId: 371337762
#minor-release PiperOrigin-RevId: 371348520
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.