9768 Commits

Author SHA1 Message Date
olly
5c24d1ccea Clean up unnecessary use of full package name
PiperOrigin-RevId: 329666401
2020-09-07 20:41:09 +01:00
olly
b79e2e069f SessionPlayerConnector: Use setter for ControlDispatcher
This brings SessionPlayerConnector in line with other
components that use a ControlDispatcher in the ExoPlayer
library, all of which have a setter.

PiperOrigin-RevId: 329665767
2020-09-07 20:41:00 +01:00
andrewlewis
56e622a2e5 Fix release notes link
PiperOrigin-RevId: 329665766
2020-09-07 20:40:51 +01:00
insun
3ab9bc8e7f Fix internal demo app crash
Internal demo app crashed when device does not support required DRM scheme.
This CL fixes it.

PiperOrigin-RevId: 329653841
2020-09-07 20:40:41 +01:00
insun
f68fc3e701 Prevent buffering when clicking ffwd button at the end of stream
PiperOrigin-RevId: 329634001
2020-09-07 20:40:32 +01:00
ibaker
5b80eb8ecc Enable multidex for the playback tests
PiperOrigin-RevId: 329527311
2020-09-07 20:40:23 +01:00
andrewlewis
47561f200f Fix handling of incompatible VPAID ads
Issue: #7832
PiperOrigin-RevId: 329497598
2020-09-07 20:40:13 +01:00
gyumin
d155416c54 Add Util.postOrRun
To avoid repetition, it adds Util.postOrRun and replaces existing
instances with the util method.

PiperOrigin-RevId: 329472769
2020-09-07 20:40:04 +01:00
ibaker
91185500a1 Remove usage of assertThrows from ExoPlayer GTS tests
The environment these tests are executed in is only using JUnit 4.10,
which doesn't have assertThrows.

PiperOrigin-RevId: 329462985
2020-09-07 20:39:55 +01:00
olly
17b370d00c Allow upstream discards from the SampleQueue by time.
Add a SampleQueue method to discard from the write side of the queue by timestamp

PiperOrigin-RevId: 329303714
2020-09-07 20:39:46 +01:00
olly
440fd1cf62 Some minor tweaks
1. Add EventLogger right away in PlayerActivity, else it doesn't log
   playWhenReady being initially set to true.
2. Remove EventLogger logging for the audio position advancing. It's
   redundant with isPlaying logging unless you're very specifically
   interested in the timing difference.
3. Remove unnecessary comment in Player.
4. Fix Timeline Javadoc.

PiperOrigin-RevId: 328983944
2020-09-07 20:39:36 +01:00
olly
e163fe6949 Optimize AAC seeking except for xHE-AAC
In 2.11.2 to 2.11.5, we considered all AAC streams as consisting
only of sync samples. In 2.11.6+, we considered no AAC streams as
consisting of sync samples, because the property is not guaranteed
specifically for xHE-AAC. This will have caused a small regression
is seek speed for some types of media.

This change brings back the optimization for AAC, specifically
excluding only xHE-AAC (and cases where we don't know what type of
AAC we're dealing with).

PiperOrigin-RevId: 328950697
2020-09-07 20:39:27 +01:00
christosts
3dbb4c4da9 Migrate test repeatModeChanges() to TestExoPlayer
PiperOrigin-RevId: 328918314
2020-09-07 20:39:18 +01:00
bachinger
0045d20d2c Document how to set the priority on API level above 25
Issue: #7820
PiperOrigin-RevId: 328917063
2020-09-07 20:39:08 +01:00
bachinger
8a8a1517ec Handle KEYCODE_HEADSETHOOK as alias of KEYCODE_MEDIA_PLAY_PAUSE
ISSUE: #7813
PiperOrigin-RevId: 328910220
2020-09-07 20:38:59 +01:00
christosts
603dcf4978 Download offline DRM license from non-UI thread
PiperOrigin-RevId: 328904901
2020-09-07 20:38:48 +01:00
Oliver Woodman
9778898b47 Merge branch 'dev-v2' into dev-v2-r2.12.0 2020-08-27 22:38:30 +01:00
olly
e1c3da2a74 Set 2.12 release date & merge in some recent changes
PiperOrigin-RevId: 328747057
2020-08-27 22:30:28 +01:00
aquilescanta
91b3aad063 Make ExoPlayer.getPlaybackLooper never return null
Issue: #7807
PiperOrigin-RevId: 328726966
2020-08-27 14:41:42 +00:00
tonihei
237cb9df54 Merge pull request #7804 from yoobi:TrackSelectionDialogBuilderTheme
PiperOrigin-RevId: 328726246
2020-08-27 14:41:28 +00:00
Oliver Woodman
db63334f94 Clean up release notes 2020-08-27 12:51:11 +01:00
Oliver Woodman
79e64bc613 Clean up release notes 2020-08-27 12:18:53 +01:00
Oliver Woodman
cfb429d131 Merge branch 'release-v2' into dev-v2 2020-08-27 12:09:17 +01:00
andrewlewis
74c493f51e Add back support for setting audio pitch
To play slow motion streams where the audio has been recorded at
slower speeds, it is necessary to be able to resample (rather than
time-stretch) the audio. This change undeprecates back the previously
deprecated PlaybackParameters class to allow apps to set pitch.

PiperOrigin-RevId: 328703116
2020-08-27 12:06:41 +01:00
Oliver Woodman
8b3422ba54 Merge pull request #7800 from TakuSemba:apply-output-surface-workaround
PiperOrigin-RevId: 328696935
2020-08-27 12:06:30 +01:00
bachinger
feb4cce2b2 Enable nullness test for CachedContent/CachedContentIndex
PiperOrigin-RevId: 328551668
2020-08-27 12:06:20 +01:00
olly
94cff6ba50 Clean up release notes for 2.12: Core part 2
PiperOrigin-RevId: 328549736
2020-08-27 12:06:11 +01:00
olly
eba93b0d5e Clean up release notes for 2.12: Core part 1
PiperOrigin-RevId: 328549086
2020-08-27 12:06:01 +01:00
Yoni Obadia
0176422f0b Review: Update according to review 2020-08-26 19:07:47 +02:00
kim-vde
bcad98b9ff Merge pull request #7667 from willtrking:dev-v2-mkv-dovi
PiperOrigin-RevId: 328536503
2020-08-26 16:40:35 +01:00
bachinger
d34889d7b5 Add version to README
Issue: #7801
PiperOrigin-RevId: 328529525
2020-08-26 16:40:23 +01:00
tonihei
e16cd239ea Only report 5G for SDK 29+.
PiperOrigin-RevId: 328524230
2020-08-26 16:40:12 +01:00
claincly
20def699ad Fix test failure due to recent change to ShadowAudioTrack
<unknown commit> used a new API provided in API29+, changing this test's config to
use the newer SDK version.

TAP:https://test.corp.google.com/ui#d=targetZoomout&flags=CAMQAlhg&t=//third_party/java_src/android_libs/exoplayer/v2/library/core/src/test:test_com/google/android/exoplayer2/audio/MediaCodecAudioRendererTest
PiperOrigin-RevId: 328344926
2020-08-26 16:40:02 +01:00
ibaker
74f7ec729c Add playback tests for TS and MP4 samples that run on Robolectric
This commit introduces the infrastructure classes, and a couple of
illustrative usages.

PiperOrigin-RevId: 328301593
2020-08-26 16:39:49 +01:00
tonihei
a6ee778cfe Remove unnecessary ID suffix.
PiperOrigin-RevId: 328154018
2020-08-26 16:39:39 +01:00
tonihei
996e58973d Make renderer flush when setting pause-at-end more targeted.
We currently always reset everything if playingPeriod != readingPeriod.
However, this is only needed when the pausing is actually required, i.e.,
if the feature is enabled and we are in the last period of the window.

PiperOrigin-RevId: 328141242
2020-08-26 16:39:29 +01:00
andrewlewis
4b0e39e4b9 Add an event for the audio position advancing
Currently the audio renderer can become ready before the AudioTrack
actually has enough data to play something, which means that the
player may transition to the ready state before audio starts
playing. This makes the player's current state transition not very
useful for detecting when audio actually starts playing.

This change adds a new event to notify apps when the audio position
is increasing after a pause or seek/flush/reset event, and includes
an estimate of the system time at which audio playout started.

Issue: #7577
PiperOrigin-RevId: 327810040
2020-08-26 16:39:18 +01:00
kimvde
6960dde8a8 Add nullness annotations to FragmentedMp4Extractor
PiperOrigin-RevId: 327797428
2020-08-26 16:39:07 +01:00
andrewlewis
d881a675d0 Check output format change timing after API 30
PiperOrigin-RevId: 327795332
2020-08-26 16:38:57 +01:00
Yoni Obadia
88d7587ca7 dev: add setting theme for TrackSelectionDialogBuilder 2020-08-26 11:40:48 +02:00
takusemba
3f5c584574 apply output surface workaround for F02H, F03H 2020-08-25 14:53:57 +09:00
Oliver Woodman
e822196336
Merge pull request #7784 from google/dev-v2-r2.11.8
r2.11.8
2020-08-24 18:17:48 +01:00
olly
4c894c80ba Clean up release notes for 2.12: Analytics
PiperOrigin-RevId: 327791211
2020-08-21 12:55:37 +01:00
olly
505511a761 Clean up release notes for 2.12: Audio
PiperOrigin-RevId: 327790491
2020-08-21 12:55:37 +01:00
andrewlewis
0d8f016d33 Assume software decoder fix will happen before API 31 too
PiperOrigin-RevId: 327782731
2020-08-21 12:55:37 +01:00
bachinger
e55b345595 Make all media source factories create a drm session
PiperOrigin-RevId: 327691347
2020-08-21 12:55:14 +01:00
samrobinson
7abece9a39 Add a software decoder check to MediaFormat change GTS test.
PiperOrigin-RevId: 327620772
2020-08-21 12:51:42 +01:00
aquilescanta
a673eec845 Make Format's constructor take the Builder as argument
Which saves the large parameter list.

PiperOrigin-RevId: 327619725
2020-08-21 12:51:33 +01:00
andrewlewis
e2fc5c2190 Fix EventLogger audio underrun logging
PiperOrigin-RevId: 327610950
2020-08-21 12:51:23 +01:00
insun
74f788afc3 Improve a11y in minimal mode
Previously, the fullscreen button and timebar has been overlapped in minimal mode

PiperOrigin-RevId: 327606728
2020-08-21 12:51:15 +01:00