- 21 Feb, 2022 40 commits
-
-
#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 -
PiperOrigin-RevId: 427474975
olly committed -
Right now, the option to build an IMA DAI URI programmatically is still package-private. To simplify the process, we can remove the StreamRequest wrapper and directly provide an URI builder. The same class can provide some package-private helper methods to parse the created URI. #minor-release PiperOrigin-RevId: 427445326
tonihei committed -
#minor-release PiperOrigin-RevId: 427439588
olly committed -
There are two sets of listeners in ExoPlayerImpl at the moment, which can be merged together to use a single ListenerSet. This has the added advantage that the events that were previously sent through the ArraySet get additional guarantees provided by ListenerSet (e.g. correct event ordering and onEvents triggered). Also add missing constants for onEvents to ensure all Player.Listener methods have an corresponding constant. PiperOrigin-RevId: 427415349
tonihei committed -
#minor-release PiperOrigin-RevId: 427216911
ibaker committed -
This brings listener invocations closer together and removes unnecessary methods. Also fixes a bug where a change in track selection parameters only queued a callback but never flushed it to actually inform the listeners. #minor-release PiperOrigin-RevId: 427201691
tonihei committed -
In some cases (whose where we previously used EventListener), AnalyticsCollector is registered as a listener to receive updates, in other cases it is called directly. Avoid this inconsistent handling by registering it as normal listener and removing all callbacks that are handled by the normal listener flow. The remaining direct usages of AnalyticsCollector calls are those callbacks that have no equivalent in Player.Listener. #minor-release PiperOrigin-RevId: 427201525
tonihei committed -
With this change, MediaCodecAudioRenderer always configures MediaCodec with max output channels set to 99 on API 32+. #minor-release PiperOrigin-RevId: 427192801
christosts committed -
SimpleExoPlayer used to register a listener on ExoPlayerImpl for the old EventListener callbacks. Now both classes are merged, this is no longer needed and should be removed in favor of calling methods directly. #minor-release PiperOrigin-RevId: 427187875
tonihei committed -
We have logic to not immediately interrupt playback when an ad group fails to load and instead let the current content play and transition at the point where the ad group should have been. This logic was broken by https://github.com/google/ExoPlayer/commit/dcbdbe53417d6642f2be98c82ac941d34908bd49 because of one of the conditions used MediaPeriodId.adGroupIndex, which is always -1 for content ids. It still worked for the last ad group because the next ad group index was C.INDEX_UNSET. Fix the issue and amend the test that was meant to catch this to test the ad failures for the last ad and previous ads. Also fix the PositionInfo reported in such a case, which was also wrong. Issue: google/ExoPlayer#9929 #minor-release PiperOrigin-RevId: 427143223
tonihei committed -
PiperOrigin-RevId: 427133919
tonihei committed -
PiperOrigin-RevId: 427133817
tonihei committed -
https://github.com/google/ExoPlayer/commit/03e645bab336578c155e46c4114534d346a06cc5
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/9b8ed581d06e2c21b114abc07ed5435b2c96391d *** Original commit *** Add missing imports to ExoPlayerImpl These were missed in https://github.com/google/ExoPlayer/commit/3bb0210d229ffd1455d546fa738dfebbac50f552 #minor-release *** *** PiperOrigin-RevId: 427131696
tonihei committed -
PiperOrigin-RevId: 427131569
tonihei committed -
https://github.com/google/ExoPlayer/commit/12be2bc35791bd00c3af8b403f5db7b14074c55c
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/3bb0210d229ffd1455d546fa738dfebbac50f552 *** Original commit *** Move SimpleExoPlayer logic into ExoPlayerImpl 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... *** PiperOrigin-RevId: 427131338
tonihei committed -
Aligning the byte size calculation with the sizes defined in opus_jni.cc for the `outputFloat=true` case #minor-release PiperOrigin-RevId: 427028982
olly committed -
https://github.com/google/ExoPlayer/commit/3bb0210d229ffd1455d546fa738dfebbac50f552
*** Original commit *** Move SimpleExoPlayer logic into ExoPlayerImpl 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 (e *** PiperOrigin-RevId: 426997821
olly committed -
PiperOrigin-RevId: 426996878
olly committed -
https://github.com/google/ExoPlayer/commit/9b8ed581d06e2c21b114abc07ed5435b2c96391d
*** Original commit *** Add missing imports to ExoPlayerImpl These were missed in https://github.com/google/ExoPlayer/commit/3bb0210d229ffd1455d546fa738dfebbac50f552 #minor-release *** PiperOrigin-RevId: 426996503
olly committed -
PiperOrigin-RevId: 426994820
olly committed -
PiperOrigin-RevId: 426994559
olly committed -
Transformer's minimum API level is 21, where-as the full library is still targeting 16. Hence we should no longer include the transformer module in the full library dependency. #minor-release PiperOrigin-RevId: 426958045
olly committed -
PiperOrigin-RevId: 426953267
Ian Baker committed -
#minor-release PiperOrigin-RevId: 426938026
ibaker committed -
Some strings didn't mention the context in which they are used (for example as item in a list, or for accessibility). This makes it harder for translators to choose the most appropriate translation and grammar. Also fix repeat and shuffle mode button accessibility descriptions to indicate the action, not the current state. PiperOrigin-RevId: 426924163
tonihei committed -
#minor-release PiperOrigin-RevId: 426909957
ibaker committed -
PiperOrigin-RevId: 426892085
olly committed -
PiperOrigin-RevId: 426876984
olly committed -
These were missed in https://github.com/google/ExoPlayer/commit/3bb0210d229ffd1455d546fa738dfebbac50f552 #minor-release PiperOrigin-RevId: 426872386
ibaker committed -
#minor-release PiperOrigin-RevId: 426870114
ibaker committed -
#minor-release PiperOrigin-RevId: 426868933
ibaker committed -
This class is deprecated (and will be removed from media3). #minor-release PiperOrigin-RevId: 426860018
ibaker committed -
PiperOrigin-RevId: 426855255
ibaker committed -
This ensures Kotlin usages of these IntDef annotations in the 'old' position will continue to compile. 'Frequently used' is a subjective judgement. I have a parallel change that marks all the other public IntDefs in the library as TYPE_USE (those that I've judged to be 'rarely used' by apps). A follow-up change will fix the positions of existing usages to be as if they're only TYPE_USE. #minor-release PiperOrigin-RevId: 426427334
ibaker committed
-