- 08 Mar, 2022 2 commits
-
- 24 Feb, 2022 1 commit
-
-
r2.17.0
Ian Baker committed
-
- 23 Feb, 2022 5 commits
-
-
PiperOrigin-RevId: 430456963
ibaker committed -
#minor-release PiperOrigin-RevId: 430437927
ibaker committed -
#minor-release PiperOrigin-RevId: 430200331
ibaker committed -
We need to access internal state to work around resources not being released on old API versions. Add a reference to the bug about this and suppress the lint warning. #minor-release PiperOrigin-RevId: 430190794
andrewlewis committed -
#minor-release PiperOrigin-RevId: 430189385
ibaker committed
-
- 22 Feb, 2022 9 commits
-
-
NDK 23 removes GNU's bin utils. More info in https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#binutils. LLVM bin utils are available in all modern NDK versions. #minor-release Issue: google/ExoPlayer#9933 PiperOrigin-RevId: 429299806
aquilescanta committed -
Merge of https://github.com/google/ExoPlayer/pull/9934 PiperOrigin-RevId: 429259055
olly committed -
#minor-release PiperOrigin-RevId: 429067634
bachinger committed -
PiperOrigin-RevId: 429059793
bachinger committed -
This allows the AdsLoader.State to be stored in savedInstanceState #minor-release PiperOrigin-RevId: 429057697
bachinger committed -
#minor-release PiperOrigin-RevId: 429006934
bachinger committed -
- The resources were released twice before, which is not necessary since the MSG_RELEASE message is already in the internal player queue. - The demo app was failing because the stop watch was stopped in onTransformationError after being reset. #minor-release #mse-bug-week PiperOrigin-RevId: 428794426
kimvde committed -
#minor-release PiperOrigin-RevId: 428763656
bachinger committed -
PiperOrigin-RevId: 428763554
hschlueter committed
-
- 21 Feb, 2022 23 commits
-
-
#minor-release PiperOrigin-RevId: 428761508
bachinger committed -
Currently only a single instance of ImaServerSideAdInsertionMediaSource is supported at the same time in a playlist. This change makes sure that an attempt to add multiple instances is prevented by throwing a an exception. #minor-release PiperOrigin-RevId: 428743140
bachinger committed -
This change makes sure played server side ads are skipped in a single period timeline. It avoids creating an ad-MediaPeriodInfo for played postrolls and creates a content info instead. It also sets the end position for content infos that terminate the stream before the stream is actually finished. This prevents the player from continue playing the remaining media delivered by the MediaPeriod. We also make sure that the discontinuity of played ads are not reported because there is actually no discontinuity. #minor-release PiperOrigin-RevId: 428734387
bachinger committed -
#minor-release PiperOrigin-RevId: 428727560
bachinger committed -
This prevents a stack trace that is shown in the logs when the stream manager is released after the activity was stopped. In this case the call to `streamManager.destroy()` coming from `releaseSourceInternal()` of the media source is too late and produces an error saying `Application attempted to call on a destroyed WebView`. The error has no effect but it's nice to not have this stack trace in the logs. PiperOrigin-RevId: 428574231
bachinger committed -
#minor-release PiperOrigin-RevId: 428565444
bachinger committed -
PiperOrigin-RevId: 428524300
andrewlewis committed -
The last used shared media period is reused after all media periods have been released. In case the sample streams are already filled up, they need to be reset or they download samples from the current position up to the seek position. This causes long buffering states or load stuck exceptions. A seek when reusing the shared period takes care for reseting the period or internally seeks to the current position in the already available samples. #minor-release PiperOrigin-RevId: 428484187
bachinger committed -
We have two ways to choose the minDurationForQualityIncreaseMs value in AdaptiveTrackSelection: use the configured value for non-live or when enough buffered data is available, or use a fraction of the available duration to allow switching when playing close to the live edge. The decision point when to use which value isn't quite consistent because we compare against availableDurationUs before making the adjustments. This means there is range of values where no up-switching is possible despite perfect buffering. Fix this by choosing the minimum of both values. Issue: google/ExoPlayer#9784 #minor-release PiperOrigin-RevId: 428474332
tonihei committed -
The timeline used to map ad groups to periods needs to report the original content period duration without subtracting the serverside inserted ad duration. When marking played ads in onPositionDiscontinuity, the public timeline has been used which crashed the app when the ads media source is playing on a window index different to zero (in a playlist). #minor-release PiperOrigin-RevId: 428465833
bachinger committed -
On Samsung S21 with light theme the debug labels weren't showing up because the player view was visible (with a black background) while the transformation was in progress, matching the debug label text color. Hide the player view until the transformation is complete to fix this. Also tweak the layout slightly to add space between the card border and the labels. #mse-bug-week PiperOrigin-RevId: 428455824
andrewlewis committed -
This prevents it to be stripped by R8 if a custom one is passed. #minor-release PiperOrigin-RevId: 428034999
krocard committed -
Ignorable ad periods are skipped to resolve the media period id with the ad playback state of the resulting period. In case of a change in the period position un-played ad periods are rolled forward to be played. PiperOrigin-RevId: 428011116
bachinger committed -
This adds some missing calls to verifyApplicationThread to ExoPlayerImpl. Now all public methods start with this call, except listener registrations because registration after construction on a background thread is allowed and supported. PiperOrigin-RevId: 428009498
tonihei committed -
The class is deprecated and all tests should preferably use the non-deprecated code paths. PiperOrigin-RevId: 428007986
tonihei committed -
They are not normally displayed in any size-restricted UI element and don't need a character limit. #minor-release PiperOrigin-RevId: 427998164
tonihei committed -
This will allow R8 to strip out the implementation if it is not needed for an app. #minor-release PiperOrigin-RevId: 427983730
krocard committed -
#minor-release PiperOrigin-RevId: 427965501
kimvde committed -
All the functionality of SimpleExoPlayer has moved to ExoPlayerImpl. Hence, ExoPlayerImpl can fulfil its own name and become an ExoPlayer implementation. As a result, ExoPlayer.Builder can return ExoPlayerImpl directly without using SimpleExoPlayer at all. PiperOrigin-RevId: 427947028
tonihei committed -
#minor-release PiperOrigin-RevId: 427712140
tonihei committed -
PiperOrigin-RevId: 427679101
tonihei committed -
And move them in separate top level classes so that presubmit runs them. #minor-release PiperOrigin-RevId: 427482430
krocard committed -
And also add a test that all Player.Listener events are forwarded to AnalyticsListener. The AnalyticsCollector also needlessly implemented Video/AudioRendererEventListener, which is not needed because all of the equivalent methods are called directly and never through the interface. #minor-release PiperOrigin-RevId: 427478000
tonihei committed
-