- 17 Feb, 2022 20 commits
-
-
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 -
PiperOrigin-RevId: 427982223
huangdarwin committed -
#minor-release PiperOrigin-RevId: 427965501
kimvde committed -
https://github.com/google/ExoPlayer/commit/2848240a8c5edd447882fdb9d70ffb53a2b54e10
*** Original commit *** Update gradle wrapper To fix transformer demo + Nexus emulator bug. #minor-release *** PiperOrigin-RevId: 427952642
huangdarwin 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. #minor-release PiperOrigin-RevId: 427947028
tonihei committed -
PiperOrigin-RevId: 427819209
olly committed -
For when a track is both encrypted and has supplemental data, the sample size will be equal to `block sample size - encryption data size`. PiperOrigin-RevId: 427807612
olly committed -
We have seen devices running on API21/23 fail transcoding because of setting encoding profile/level. Some devices (ale-123/nexus 7) on API21 returns ENOSYS (Function not implemented) when being configured with a profile setting. (although API21 introduced the capability of setting encoding profile) Some devices (nexus 5) on API23 fails configuration with a specific parameter set, despite advertising support for it. Not setting the baseline profile has no effect on encoding, because when not set, the encoding will pick a suitable profile to use. Since baseline is the lowest possible profile, the auto-picked value can't be worse than baseline. Ref: b/218696352 PiperOrigin-RevId: 427792124
claincly committed -
PiperOrigin-RevId: 427728320
claincly committed -
On some Android devices, the return value of ``` MediaCodecInfo.getCapabilitiesForType(mimeType).profileLevels ``` contains one entry for each encoding profile, like <profile, maxSupportedLevel> but on some other devices, there are multiple entries for the same profile, like <HIGH_PROFILE, LEVEL1>, <HIGH_PROFILE, LEVEL2>, <HIGH_PROFILE, LEVEL3>, where we need to iterate through all the entries and find the max. PiperOrigin-RevId: 427727030
claincly 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 -
PiperOrigin-RevId: 427469350
kimvde 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
-
- 09 Feb, 2022 3 commits
-
-
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. #minor-release PiperOrigin-RevId: 427415349
tonihei committed -
Allow opusV2JNI to be built-for & included-in non-Android build targets by ifdef'ing out the liblog dependency. Also removed libz and libandroid dependencies. PiperOrigin-RevId: 427269838
olly committed -
#minor-release PiperOrigin-RevId: 427216911
ibaker committed
-
- 08 Feb, 2022 17 commits
-
-
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 -
PiperOrigin-RevId: 427191610
claincly 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 -
#minor-release PiperOrigin-RevId: 427131569
tonihei committed -
https://github.com/google/ExoPlayer/commit/b0abdade502bbf9adbb704e9bed105c69ec1ce56
*** Original commit *** Rollback of https://github.com/google/ExoPlayer/commit/08c5b1cb0a876a1e5059778bc133476e0a5f314d *** Original commit *** Wire up MediaMetricsListener and add configuration to disable it. The listener will automatically forward diagnostics info to the Android platform. ExoPlayer.Builder gets a new setter that allows to disable this feature if required. #... *** PiperOrigin-RevId: 427131438
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 -
On some old devices, the encoding level needs to be set with the encoding profile, but not on newer devices. The profile/level override is applied by following https://developer.android.com/guide/topics/media/sharing-video PiperOrigin-RevId: 427008536
claincly 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 -
https://github.com/google/ExoPlayer/commit/08c5b1cb0a876a1e5059778bc133476e0a5f314d
*** Original commit *** Wire up MediaMetricsListener and add configuration to disable it. The listener will automatically forward diagnostics info to the Android platform. ExoPlayer.Builder gets a new setter that allows to disable this feature if required. #minor-release *** PiperOrigin-RevId: 426997342
olly committed -
PiperOrigin-RevId: 426996878
olly committed
-