Skip to content
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 #2

Merged
merged 870 commits into from
Apr 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
870 commits
Select commit Hold shift + click to select a range
75dd1b4
Add buildUpon to MediaMetadata.
Samrobbo Mar 23, 2021
b6290b1
Add commands only available in SimpleExoPlayer
kim-vde Mar 23, 2021
c202d40
Improve commands Javadoc
kim-vde Mar 23, 2021
b35c811
Add 5G-NSA detection.
tonihei Mar 23, 2021
bffb68b
Add BundleUtil to remove androidx.core dependency
sim0629 Mar 24, 2021
273d68a
Add missing switch case
AquilesCanta Mar 24, 2021
e2abc96
Merge pull request #8749 from romanofranz:patch-1
icbaker Mar 24, 2021
6f73ac6
Add 5G-SA initial bitrate estimates to bandwidth meter.
tonihei Mar 24, 2021
e1fec35
Add command to seek to default position
kim-vde Mar 24, 2021
94a4ed7
Treat Dolby Vision as H264 in MCVR#getCodecMaxInputSize()
icbaker Mar 24, 2021
f19ab4a
Add possibility to iterate over Commands
kim-vde Mar 24, 2021
4be774a
Support tts:shear in TTML parser and WebView output
dlafayet Mar 24, 2021
dc4148d
Add positions and new reasons to onPositionDiscontinuity
marcbaechinger Mar 24, 2021
2b09956
StyledPlayerControlView: Fix view measurement issue
ojw28 Mar 24, 2021
475b1fe
Address code review comments
dlafayet Mar 25, 2021
a3d6f03
Use playlist start time for target live offset
uvjustin Mar 28, 2021
3ebf94c
DataSources: Remove position-out-of-range workarounds
ojw28 Mar 24, 2021
774cce4
Make StubExoPlayer not abstract
krocard Mar 25, 2021
1526ca5
Move add/remove Player.Listener down of BasePlayer
krocard Mar 25, 2021
e420046
Add 5G-NSA detection for API 31+
tonihei Mar 25, 2021
9be84e4
Document execution of unavailable command
kim-vde Mar 25, 2021
dd3597c
Document that the order of cues passed to TextOutput is important
icbaker Mar 29, 2021
76700e9
Log error for TrackGroups with multiple languages or role flags.
tonihei Mar 29, 2021
47af9a6
Enable internal retry for recoverable codec exceptions
ojw28 Mar 29, 2021
394ab7b
Make use of position discontinuity changes.
tonihei Mar 29, 2021
f318946
Ensure callback can't access player before constructor finished.
tonihei Mar 30, 2021
84ce648
Move @Ignore from class to methods in DashWidevineOfflineTest
icbaker Mar 30, 2021
192c1a1
Don't include video tracks without bitrate in adaptive selection.
tonihei Mar 30, 2021
db42bef
Modify visibility of onQueueInputBuffer.
ojw28 Mar 30, 2021
7aeb476
Fix DefaultExtractorInputTest.largeSkip
ojw28 Mar 31, 2021
dc0ee75
Deprecate AnalyticsListener.onSeekStarted.
tonihei Mar 31, 2021
6603c6b
Merge pull request #8720 from dlafayet:tts-shear-block
ojw28 Apr 1, 2021
ffb5b41
Fix typo in Player#setMediaItems() Javadoc
jaewan-github Mar 31, 2021
2fa3675
[Cast] Notify media item transition only when playing period removed
marcbaechinger Mar 31, 2021
c022884
Add test for emsg near to end of DASH period
icbaker Mar 31, 2021
f5a4f3e
Switch tests to use SimpleExoPlayer
ojw28 Mar 31, 2021
056ef5c
Use Metadata.Entry.toString in PlaybackOutput test logging if possible
icbaker Mar 31, 2021
86a0a40
Update instructions for GMaven releasing
andrewlewis Mar 31, 2021
a7d7cfd
Release all PlaybackStatsListener session when timeline becomes empty.
tonihei Mar 31, 2021
af926de
Use outputStreamEnded for MetadataRenderer#isEnded
icbaker Mar 31, 2021
ae47a13
Delete unused surfacecapturer package
ojw28 Mar 31, 2021
c80e7b0
Add back jcenter() to repositories
andrewlewis Apr 1, 2021
a317746
Ensure constructor condition is unblocked even for unchecked exceptions
tonihei Apr 1, 2021
3d3c90b
Add getMediaMetadata to Player and SimpleExoPlayer.
Samrobbo Apr 1, 2021
1315e11
Ffmpeg extension: Wait for channel count and sample rate
ojw28 Apr 1, 2021
1f54776
HLS: Set initial SampleQueue start times
ojw28 Apr 1, 2021
7562bae
Fix SimpleExoPlayer documentation
ojw28 Apr 1, 2021
b4aee72
Re-strip StableApiCandidate
ojw28 Apr 1, 2021
1242237
Add isBlacklisted method to ExoTrackSelection interface.
ojw28 Apr 1, 2021
a5c4724
HLS: Fix incorrect handling of byte ranges for EXT-X-MAP tags
ojw28 Apr 1, 2021
9ec6992
Populate MediaMetadata title from IcyInfo and TextInformationFrame.
Samrobbo Apr 1, 2021
9609af3
Suppress warnings in preparation for Checker Framework 3.12.0 upgrade.
ojw28 Apr 5, 2021
9510ba4
Make ExoPlaybackException Bundleable
jaewan-github Apr 6, 2021
9e0e937
Remove pipelining from MetadataRenderer
icbaker Apr 6, 2021
30ddaec
StyledPlayerView: Fix layout issues
ojw28 Apr 6, 2021
6f4db96
Fix some dependencies
ojw28 Apr 6, 2021
4c33c51
Call new onPositionDiscontinuity callback in CastPlayer
marcbaechinger Apr 6, 2021
ce4c655
Fix 1 ErrorProneStyle finding:
ojw28 Apr 6, 2021
c455bad
Add Period.isPlaceholder to fix preparation issues for concatenation.
tonihei Apr 7, 2021
2434d4e
Remove unnecessary @Nullable in exception message
jaewan-github Apr 7, 2021
d853379
Convergence: Continue decoupling UI from Core
ojw28 Apr 7, 2021
61a5ca4
Reduce the diff between different versions of GTS tests
icbaker Apr 7, 2021
d24cec5
Add missing default implementations to Player.Listener
sim0629 Apr 7, 2021
53166e9
Package VideoDecoderGLSurfaceView a little more nicely
ojw28 Apr 8, 2021
199b9d1
Convergence: Continue decoupling UI from Core
ojw28 Apr 8, 2021
3ea694b
Upgrade IMA SDK dependency to 3.23.0
andrewlewis Apr 9, 2021
1dd96cd
Remove warning suppression.
tonihei Apr 9, 2021
253c8ce
Fix errors when generating javadoc
sim0629 Apr 9, 2021
e4d5e07
Make SsaDecoder robust against absent Format items
icbaker Feb 25, 2021
e38b48a
Use a debug signature config for demo apps' release variant
AquilesCanta Feb 26, 2021
46e156a
Lint and test artifacts for Maven publication
andrewlewis Mar 1, 2021
8570248
Fix scrubber not reappearing correctly in some cases
ojw28 Mar 1, 2021
bcd0a91
Fall back from DTS HD to DTS
andrewlewis Mar 2, 2021
1a190ff
Link to callback in Player getters' Javadoc
kim-vde Mar 2, 2021
d6eb61d
Merge pull request #8546 from TadejZupancic:dev-v2
ojw28 Mar 2, 2021
01d4ada
Reset playback speed when live speed control becomes unused
marcbaechinger Mar 4, 2021
db60db7
Merge pull request #8662 from joakimzhang:dev-v2
icbaker Mar 12, 2021
a67d260
Fix onPositionDiscontinuity event in CastPlayer
kim-vde Mar 5, 2021
4bf5762
Merge pull request #8677 from dlafayet:ttml
icbaker Mar 12, 2021
37d5947
Use correct period-window offset for initial prepare position.
tonihei Mar 8, 2021
fbdc1bb
Merge pull request #8654 from abeljim:dev-v2-8435-bolditalic
icbaker Mar 12, 2021
39e6f66
Pass the end position of a stream to TextRenderer when marking it final
icbaker Mar 9, 2021
3dae045
Deflake ClippedPlaybackTest
icbaker Mar 11, 2021
21326e6
Fallback to inferred file types when sniffing fails
AquilesCanta Mar 12, 2021
64ce86a
Merge duplicate UI and Text release notes sections
icbaker Mar 10, 2021
3bdfb76
Don't update the ad group count when releasing ImaAdsLoader
andrewlewis Mar 12, 2021
06e6391
Fix CEA-708 priority
icbaker Mar 12, 2021
0d052e0
HLS: Allow audio variants to initialize the timestamp adjuster
ojw28 Mar 15, 2021
8e0d0c4
Replace timeline reference equality checks in FakeMediaSource
kim-vde Mar 16, 2021
6400cc2
Upgrade IMA SDK dependency to 3.22.3
andrewlewis Mar 18, 2021
3732eca
Avoid invalid extractors in DefaultHlsExtractorFactory
AquilesCanta Mar 18, 2021
5c722ac
JpegExtractor: read GContainer and GContainerItem XMP prefixes
kim-vde Mar 19, 2021
ca9af38
Add 'once' to list of devices that need SetOutputSurfaceWorkaround
AquilesCanta Mar 19, 2021
871c24b
Fix typo in styled player control view javadoc
andrewlewis Mar 19, 2021
65ab008
Merge pull request #8653 from dlafayet:textemphasis
icbaker Mar 24, 2021
aa25037
JpegExtractor: support JFIF segment preceding Exif segment
kim-vde Mar 23, 2021
3d487da
Add missing switch case
AquilesCanta Mar 24, 2021
d102b93
Merge pull request #8749 from romanofranz:patch-1
icbaker Mar 24, 2021
14711d1
Treat Dolby Vision as H264 in MCVR#getCodecMaxInputSize()
icbaker Mar 24, 2021
74a9bf0
Simplify handling of playback speed in StyledPlayerControlView
ojw28 Mar 2, 2021
ffb1f61
StyledPlayerControlView: Fix view measurement issue
ojw28 Mar 24, 2021
1fd62c6
Merge pull request #8720 from dlafayet:tts-shear-block
ojw28 Apr 1, 2021
7e7715d
Update instructions for GMaven releasing
andrewlewis Mar 31, 2021
e499f6d
Improve tests to use output surfaces more realistically
ojw28 Apr 9, 2021
eb682ae
Use Metadata.Entry.toString in PlaybackOutput test logging if possible
icbaker Mar 31, 2021
e6780bd
Add back jcenter() to repositories
andrewlewis Apr 1, 2021
6d0a04d
Release all PlaybackStatsListener session when timeline becomes empty.
marcbaechinger Apr 9, 2021
e8742b3
Use outputStreamEnded for MetadataRenderer#isEnded
icbaker Mar 31, 2021
f8cc83a
Ffmpeg extension: Wait for channel count and sample rate
ojw28 Apr 1, 2021
b93395e
HLS: Set initial SampleQueue start times
ojw28 Apr 1, 2021
1062941
Fix SimpleExoPlayer documentation
ojw28 Apr 1, 2021
4fd8e79
HLS: Fix incorrect handling of byte ranges for EXT-X-MAP tags
ojw28 Apr 1, 2021
f3c63e2
StyledPlayerView: Fix layout issues
ojw28 Apr 6, 2021
a449d0c
Upgrade IMA SDK dependency to 3.23.0
andrewlewis Apr 9, 2021
aa54aa6
Deprecate LoopingMediaSource.
tonihei Apr 12, 2021
5345d71
Include aidl output directory to generate javadoc
sim0629 Apr 12, 2021
14993c4
Merge pull request #8764 from uvjustin:dev-v2
marcbaechinger Apr 12, 2021
0b557f3
Adds test cases for iframe only with EXT-X-MAP
stevemayhew Apr 12, 2021
19121f7
Merge pull request #8764 from uvjustin:dev-v2
marcbaechinger Apr 12, 2021
a79fbb9
Remove unused resources from deprecated GVR module
ojw28 Apr 12, 2021
353912c
Remove obsolete cronet file references
andrewlewis Apr 13, 2021
72c7787
Core/UI decoupling: Remove setUseSensorRotation from views
ojw28 Apr 13, 2021
ffc2a47
Pause and resume GLSurfaceView instances in player views
ojw28 Apr 13, 2021
1d3f72c
Clarify documentation on C.SELECTION_FLAG_FORCED
icbaker Apr 13, 2021
cc26a92
Use MediaItem.DEFAULT_MEDIA_ID as default media ID
marcbaechinger Apr 13, 2021
3bd59f8
Ensure minDurationToRetainAfterDiscard >= minDurationForQualityIncrease
tonihei Apr 13, 2021
472b44f
Switch DashManifestParser to use Ascii.equalsIgnoreCase
icbaker Apr 13, 2021
84282d7
Parse DASH forced_subtitle role
icbaker Apr 13, 2021
3032252
Use a single message for setting video renderer outputs
ojw28 Apr 13, 2021
10c3860
Upgrade JUnit to 4.13.2
icbaker Apr 13, 2021
0b3a3e6
Bump version to 2.13.3
marcbaechinger Apr 13, 2021
f93fb5d
Switch DashManifestParser to use Ascii.equalsIgnoreCase
icbaker Apr 13, 2021
b8f83ac
Parse DASH forced_subtitle role
icbaker Apr 13, 2021
278a398
Bump version to 2.13.3
marcbaechinger Apr 13, 2021
69f80d9
Fix bottom-cropped text in WebView output
dlafayet Apr 13, 2021
1ad56e9
Add mediaId to PlaybackStateCompat extras
sim0629 Apr 14, 2021
d13385b
Fix typo in Player#isPlaying() Javadoc
jaewan-github Apr 14, 2021
d359882
Update internal codebase location for flac extension
andrewlewis Apr 14, 2021
9fde2cf
fix release notes
marcbaechinger Apr 14, 2021
c4a6b2e
Mention publishing to Google Maven at top of release notes.
marcbaechinger Apr 14, 2021
b34e0b2
Remove release notes item about publication intructions
marcbaechinger Apr 14, 2021
0ba317b
Merge pull request #8816 from google/dev-v2-r2.13.3
marcbaechinger Apr 14, 2021
4fc4ddb
Move AudioComponent to ExoPlayer leaving key methods in Player
krocard Apr 14, 2021
f4f3127
Update to Gradle plugin 4.1
krocard Apr 14, 2021
40d3e12
Move MetadataComponent from Player to ExoPlayer
krocard Apr 14, 2021
c50084e
Replace Util.toLowerInvariant() with Ascii.toLowerCase()
icbaker Apr 14, 2021
bd65427
Core/UI decoupling: Remove SphericalGLSurfaceView cast
ojw28 Apr 14, 2021
5ae84ab
Move TextComponent to ExoPlayer
krocard Apr 14, 2021
54f3dfb
Move DeviceComponent in ExoPlayer
krocard Apr 14, 2021
d7c7161
Core/UI decoupling: Replace SingleTapListener with OnClickListener
ojw28 Apr 14, 2021
f0d84f2
Make PositionInfo Bundleable
jaewan-github Apr 14, 2021
56899cb
Tweak discontinuity reason definitions for remote players
jaewan-github Apr 15, 2021
14e085d
Update internal codebase location for av1 extension
andrewlewis Apr 15, 2021
3ab344c
Fix 1 ErrorProneStyle finding:
ojw28 Apr 15, 2021
b0260f7
Add experimentalSetForegroundModeTimeoutMs on SimpleExoPlayer
kim-vde Apr 15, 2021
66e4e47
Fix typo
jaewan-github Apr 16, 2021
5511bb6
Merge pull request #8814 from dlafayet:line-height
ojw28 Apr 16, 2021
fff7b80
Replace Util.toUpperInvariant() with Ascii.toUpperCase()
icbaker Apr 16, 2021
2cc51db
Refactor SEP prepare to clarify that it is equivalent to EPI prepare.
kim-vde Apr 16, 2021
33f3e5f
Make surfaceView non-clickable
ojw28 Apr 16, 2021
19c267b
Update release notes
marcbaechinger Apr 16, 2021
62eb545
Add missing checks to ExoPlayer Builders
kim-vde Apr 16, 2021
a6e9a9c
Remove mocking executor in `CronetDataSourceTest`
andrewlewis Apr 16, 2021
cdebf6c
Move VideoComponent in ExoPlayer
krocard Apr 16, 2021
f438955
Fix 1 ErrorProneFragileCode finding, REQUIRING THOROUGH REVIEW:
ojw28 Apr 19, 2021
6550ea8
Rollback of https:/google/ExoPlayer/commit/cdebf6c68b0f76…
icbaker Apr 19, 2021
4f145a8
Make ProgramInformation final.
tonihei Apr 19, 2021
9fc3b48
Merge pull request #8812 from TiVo:p-fix-iframe-only-implicit-init
ojw28 Apr 19, 2021
7a13163
MediaCodecAdapter.Factory creates a started Adapter.
ojw28 Apr 19, 2021
f2c13d9
Misc cleanup / clarification for bandwidth improvements
ojw28 Apr 19, 2021
f201b61
Fix broken subtitles in StyledPlayerView
krocard Apr 20, 2021
08336e3
Rollforward of Move VideoComponent to ExoPlayer
krocard Apr 20, 2021
830d001
Remove deprecated DefaultMediaSourceEventListener
ojw28 Apr 20, 2021
f66bdc7
Add gh-pages to main dev branch
ojw28 Apr 20, 2021
8fbe11a
Move extensions/cronet to libraries/datasource_cronet
andrewlewis Apr 20, 2021
e60609e
Prevent creation of new sessions if the Timeline is empty.
tonihei Apr 20, 2021
8a11875
Correct Javadoc location
ojw28 Apr 20, 2021
26316ee
Add gh-pages to main release branch
ojw28 Apr 20, 2021
b53ced8
Move gh-pages to top level
ojw28 Apr 20, 2021
e2fec6c
Move gh-pages to required directory
ojw28 Apr 20, 2021
be50942
Move gh-pages to required directory
ojw28 Apr 20, 2021
ebd024a
Delete gh-pages for now
ojw28 Apr 20, 2021
f89d3a9
Read-add gh-pages
ojw28 Apr 20, 2021
3dfc7f5
Remove CNAME
ojw28 Apr 21, 2021
b9e15d4
Add CNAME
ojw28 Apr 21, 2021
b921458
Deprecate setThrowWhenUsingWrongThread.
tonihei Apr 20, 2021
2f73100
Remove most deprecated ExoPlayerFactory methods
ojw28 Apr 20, 2021
efce7b9
Update internal codebase location for vp9 extension
andrewlewis Apr 20, 2021
32c5ea0
Adds Format to MediaCodecAdapter.Configuration.
ojw28 Apr 20, 2021
09096d6
Rollback of https:/google/ExoPlayer/commit/e60609e3444755…
ojw28 Apr 20, 2021
7a2eaa9
Mark AdaptiveTrackSelection.AdaptationCheckpoint as public
icbaker Apr 20, 2021
9a36783
DASH: Avoid rounding error in getSegmentCount
ojw28 Apr 20, 2021
a8cf54e
Move extensions/opus to libraries/decoder_opus
andrewlewis Apr 21, 2021
18ea8d6
Remove CNAME
ojw28 Apr 21, 2021
50c46e6
Rollback of https:/google/ExoPlayer/commit/09096d6fbf5532…
tonihei Apr 21, 2021
a29ad96
Update internal codebase location for extractor module
andrewlewis Apr 21, 2021
517e590
Move docs to correct folder for GitHub Pages
andrewlewis Apr 21, 2021
7d4a013
Remove more deprecated methods from ExoPlayerFactory
ojw28 Apr 21, 2021
a78b182
Remove some long deprecated methods
ojw28 Apr 21, 2021
2e5a616
Core/UI decoupling: Move spherical back to core
ojw28 Apr 21, 2021
76647da
Remove deprecated ExtractorMediaSource
ojw28 Apr 21, 2021
dafea4e
Re-format some javadoc
icbaker Apr 21, 2021
d63cd46
Remove spurious blank lines introduced in https:/google/E…
icbaker Apr 21, 2021
e0502cb
Fix in-page anchor link on exoplayer.dev troubleshooting page
icbaker Apr 21, 2021
9d4cbd4
Update MediaMetadata from static and dynamic metadata.
Samrobbo Apr 21, 2021
c01d26f
Restore DeleteLocalRef usage
ojw28 Apr 21, 2021
852101a
initial commit for underline and strikeout
abeljim Apr 22, 2021
9fe9adf
Added SSA test file
abeljim Apr 22, 2021
aeb306a
Create CNAME
ojw28 Apr 22, 2021
11ce80d
Remove deprecated ExoPlayerFactory
ojw28 Apr 22, 2021
87d8907
Fix 4 ErrorProneStyle findings:
ojw28 Apr 23, 2021
0616c0d
Add Player.getAvailableCommands()
christosts Apr 23, 2021
0db4f13
Fix 1 ErrorProneStyle finding:
ojw28 Apr 26, 2021
2a0b45a
Merge pull request #8852 from abeljim:dev-v2
andrewlewis Apr 26, 2021
2b582b5
Add thread names to the 'player accessed on wrong thread' message
icbaker Apr 26, 2021
d8ff021
Update MediaSourceFactory javadoc
icbaker Apr 26, 2021
2fba921
DebugMediaCodecVideoRenderer clean-up
christosts Apr 26, 2021
bc69509
CronetDataSource: fix overflow bug
christosts Apr 26, 2021
3f3d1fb
Change String MediaMetadata.title to CharSequence trackTitle.
Samrobbo Apr 26, 2021
a162d68
MediaCodecRenderer: do not call protected methods from constructor
christosts Apr 26, 2021
ed5ec4e
Merge pull request #8851 from abeljim:dev-v2-8435-underlinestrikeout
andrewlewis Apr 26, 2021
7af9523
DebugMediaCodecVideoRenderer: expect output format change after flush
christosts Apr 26, 2021
45616f9
Add missing removeDrmEventListener calls.
tonihei Apr 26, 2021
5153ccd
Remove release command for symmetry with Player construction
krocard Apr 27, 2021
74de77a
Add ForwardingPlayer
christosts Apr 27, 2021
8135b9c
Publish ExoPlayer's support for RTSP.
claincly Apr 27, 2021
65bb4eb
Fix reference to file in LINT.ThenChange tag
marcbaechinger Apr 27, 2021
bf04bb5
Fix that loadingFinished is never set to true.
claincly Apr 27, 2021
13a34b8
Relax session timing requirement.
claincly Apr 27, 2021
26a6aad
Misc ad handling improvements.
tonihei Apr 27, 2021
537e8aa
Allow the extractor deplete the reordering queue as much as possible.
claincly Apr 27, 2021
1d96d6b
Add initial code for PlaybackException
AquilesCanta Apr 27, 2021
b336df3
Move the ownership of MediaMetadata to ExoPlayerImpl.
Samrobbo Apr 27, 2021
1a2d690
Add @DoNotInstrument to Flac extension test
marcbaechinger Apr 27, 2021
096395f
Add @DoNotInstrument to Opus extension test
marcbaechinger Apr 27, 2021
688fd73
Remove AutoClosable implementation of PlayerCommandQueue
marcbaechinger Apr 28, 2021
e202407
Fix flaky DRM assertion in AnalyticsCollectorTest
icbaker Apr 28, 2021
2b120f4
Add track artist, album artist and album title to MediaMetadata.
Samrobbo Apr 28, 2021
f56c1a1
SSA: Add a test with a present but empty "Style" line
icbaker Apr 28, 2021
df25cef
Simplify boolean ternary statements in SsaStyle
icbaker Apr 28, 2021
d868602
Move Rating class to library-common
jaewan-github Apr 28, 2021
b5d4740
Reformat some javadoc
icbaker Apr 29, 2021
de895c4
Add get video size
krocard Apr 29, 2021
8fa90b4
Merge branch 'release-v2' into dev-v2
marcbaechinger Apr 29, 2021
b9b405e
Avoid NPEs when checking the current thread in SimpleExoPlayer
kim-vde Apr 29, 2021
b65945b
Remove deprecated CastPlayer methods
ojw28 Apr 29, 2021
a695cbd
Update internal codebase location for common module
andrewlewis Apr 29, 2021
cdff456
Make copybara remove the LINT.IfChange tag
marcbaechinger Apr 29, 2021
7d2a2aa
Override available commands in ForwardingPlayer
christosts Apr 29, 2021
f7c4fd4
Remove deprecated PlaybackPreparer
ojw28 Apr 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ bazel-testlogs
.DS_Store
cmake-build-debug
dist
jacoco.exec
tmp

# External native builds
Expand Down
6 changes: 0 additions & 6 deletions .hgignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,3 @@ extensions/flac/src/main/jni/flac

# FFmpeg extension
extensions/ffmpeg/src/main/jni/ffmpeg

# Cronet extension
extensions/cronet/jniLibs/*
!extensions/cronet/jniLibs/README.md
extensions/cronet/libs/*
!extensions/cronet/libs/README.md
42 changes: 17 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,35 +22,26 @@ and extend, and can be updated through Play Store application updates.

## Using ExoPlayer ##

ExoPlayer modules can be obtained from JCenter. It's also possible to clone the
repository and depend on the modules locally.
ExoPlayer modules can be obtained from [the Google Maven repository][]. It's
also possible to clone the repository and depend on the modules locally.

### From JCenter ###
### From the Google Maven repository

#### 1. Add repositories ####
#### 1. Add ExoPlayer module dependencies ####

The easiest way to get started using ExoPlayer is to add it as a gradle
dependency. You need to make sure you have the Google and JCenter repositories
included in the `build.gradle` file in the root of your project:

```gradle
repositories {
google()
jcenter()
}
```

#### 2. Add ExoPlayer module dependencies ####

Next add a dependency in the `build.gradle` file of your app module. The
following will add a dependency to the full library:
dependency in the `build.gradle` file of your app module. The following will add
a dependency to the full library:

```gradle
implementation 'com.google.android.exoplayer:exoplayer:2.X.X'
```

where `2.X.X` is your preferred version.

Note: old versions of ExoPlayer are available via JCenter. To use them, you need
to add `jcenter()` to your project's root build.gradle `repositories` block.

As an alternative to the full library, you can depend on only the library
modules that you actually need. For example the following will add dependencies
on the Core, DASH and UI library modules, as might be required for an app that
Expand All @@ -72,18 +63,19 @@ individually.
* `exoplayer-smoothstreaming`: Support for SmoothStreaming content.
* `exoplayer-ui`: UI components and resources for use with ExoPlayer.

In addition to library modules, ExoPlayer has multiple extension modules that
depend on external libraries to provide additional functionality. Some
extensions are available from JCenter, whereas others must be built manually.
In addition to library modules, ExoPlayer has extension modules that depend on
external libraries to provide additional functionality. Some extensions are
available from the Maven repository, whereas others must be built manually.
Browse the [extensions directory][] and their individual READMEs for details.

More information on the library and extension modules that are available from
JCenter can be found on [Bintray][].
More information on the library and extension modules that are available can be
found on the [Google Maven ExoPlayer page][].

[extensions directory]: https:/google/ExoPlayer/tree/release-v2/extensions/
[Bintray]: https://bintray.com/google/exoplayer
[the Google Maven repository]: https://developer.android.com/studio/build/dependencies#google-maven
[Google Maven ExoPlayer page]: https://maven.google.com/web/index.html#com.google.android.exoplayer

#### 3. Turn on Java 8 support ####
#### 2. Turn on Java 8 support ####

If not enabled already, you also need to turn on Java 8 support in all
`build.gradle` files depending on ExoPlayer, by adding the following to the
Expand Down
578 changes: 490 additions & 88 deletions RELEASENOTES.md

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.novoda:bintray-release:0.9.1'
classpath 'com.google.android.gms:strict-version-matcher-plugin:1.2.1'
}
}
Expand All @@ -27,9 +26,6 @@ allprojects {
google()
jcenter()
}
project.ext {
exoplayerPublishEnabled = false
}
if (it.hasProperty('externalBuildDir')) {
if (!new File(externalBuildDir).isAbsolute()) {
externalBuildDir = new File(rootDir, externalBuildDir)
Expand Down
12 changes: 7 additions & 5 deletions constants.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,35 +13,37 @@
// limitations under the License.
project.ext {
// ExoPlayer version and version code.
releaseVersion = '2.12.3'
releaseVersionCode = 2012003
releaseVersion = '2.13.3'
releaseVersionCode = 2013003
minSdkVersion = 16
appTargetSdkVersion = 29
targetSdkVersion = 28 // TODO: Bump once b/143232359 is resolved. Also fix TODOs in UtilTest.
compileSdkVersion = 30
dexmakerVersion = '2.21.0'
junitVersion = '4.13-rc-2'
junitVersion = '4.13.2'
guavaVersion = '27.1-android'
mockitoVersion = '2.28.2'
mockWebServerVersion = '3.12.0'
robolectricVersion = '4.5-alpha-3'
robolectricVersion = '4.5'
checkerframeworkVersion = '3.3.0'
checkerframeworkCompatVersion = '2.5.0'
jsr305Version = '3.0.2'
kotlinAnnotationsVersion = '1.3.70'
androidxAnnotationVersion = '1.1.0'
androidxAppCompatVersion = '1.1.0'
androidxCollectionVersion = '1.1.0'
androidxCoreVersion = '1.3.2'
androidxFuturesVersion = '1.1.0'
androidxMediaVersion = '1.2.1'
androidxMedia2Version = '1.1.0'
androidxMedia2Version = '1.1.2'
androidxMultidexVersion = '2.0.0'
androidxRecyclerViewVersion = '1.1.0'
androidxTestCoreVersion = '1.3.0'
androidxTestJUnitVersion = '1.1.1'
androidxTestRunnerVersion = '1.3.0'
androidxTestRulesVersion = '1.3.0'
androidxTestServicesStorageVersion = '1.3.0'
androidxTestTruthVersion = '1.3.0'
truthVersion = '1.0'
modulePrefix = ':'
if (gradle.ext.has('exoplayerModulePrefix')) {
Expand Down
6 changes: 4 additions & 2 deletions core_settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ include modulePrefix + 'library-core'
include modulePrefix + 'library-dash'
include modulePrefix + 'library-extractor'
include modulePrefix + 'library-hls'
include modulePrefix + 'library-rtsp'
include modulePrefix + 'library-smoothstreaming'
include modulePrefix + 'library-transformer'
include modulePrefix + 'library-ui'
include modulePrefix + 'robolectricutils'
include modulePrefix + 'testutils'
Expand All @@ -46,7 +48,6 @@ include modulePrefix + 'extension-opus'
include modulePrefix + 'extension-vp9'
include modulePrefix + 'extension-rtmp'
include modulePrefix + 'extension-leanback'
include modulePrefix + 'extension-jobdispatcher'
include modulePrefix + 'extension-workmanager'

project(modulePrefix + 'library').projectDir = new File(rootDir, 'library/all')
Expand All @@ -55,7 +56,9 @@ project(modulePrefix + 'library-core').projectDir = new File(rootDir, 'library/c
project(modulePrefix + 'library-dash').projectDir = new File(rootDir, 'library/dash')
project(modulePrefix + 'library-extractor').projectDir = new File(rootDir, 'library/extractor')
project(modulePrefix + 'library-hls').projectDir = new File(rootDir, 'library/hls')
project(modulePrefix + 'library-rtsp').projectDir = new File(rootDir, 'library/rtsp')
project(modulePrefix + 'library-smoothstreaming').projectDir = new File(rootDir, 'library/smoothstreaming')
project(modulePrefix + 'library-transformer').projectDir = new File(rootDir, 'library/transformer')
project(modulePrefix + 'library-ui').projectDir = new File(rootDir, 'library/ui')
project(modulePrefix + 'robolectricutils').projectDir = new File(rootDir, 'robolectricutils')
project(modulePrefix + 'testutils').projectDir = new File(rootDir, 'testutils')
Expand All @@ -74,5 +77,4 @@ project(modulePrefix + 'extension-opus').projectDir = new File(rootDir, 'extensi
project(modulePrefix + 'extension-vp9').projectDir = new File(rootDir, 'extensions/vp9')
project(modulePrefix + 'extension-rtmp').projectDir = new File(rootDir, 'extensions/rtmp')
project(modulePrefix + 'extension-leanback').projectDir = new File(rootDir, 'extensions/leanback')
project(modulePrefix + 'extension-jobdispatcher').projectDir = new File(rootDir, 'extensions/jobdispatcher')
project(modulePrefix + 'extension-workmanager').projectDir = new File(rootDir, 'extensions/workmanager')
1 change: 1 addition & 0 deletions demos/cast/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ android {
"proguard-rules.txt",
getDefaultProguardFile('proguard-android.txt')
]
signingConfig signingConfigs.debug
}
debug {
jniDebuggable = true
Expand Down
3 changes: 2 additions & 1 deletion demos/cast/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
<activity android:name="com.google.android.exoplayer2.castdemo.MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
android:launchMode="singleTop" android:label="@string/application_name"
android:theme="@style/Theme.AppCompat">
android:theme="@style/Theme.AppCompat"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,21 @@
samples.add(
new MediaItem.Builder()
.setUri("https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("Clear DASH: Tears").build())
.setMediaMetadata(
new MediaMetadata.Builder().setTrackTitle("Clear DASH: Tears").build())
.setMimeType(MIME_TYPE_DASH)
.build());
samples.add(
new MediaItem.Builder()
.setUri("https://storage.googleapis.com/shaka-demo-assets/angel-one-hls/hls.m3u8")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("Clear HLS: Angel one").build())
.setMediaMetadata(
new MediaMetadata.Builder().setTrackTitle("Clear HLS: Angel one").build())
.setMimeType(MIME_TYPE_HLS)
.build());
samples.add(
new MediaItem.Builder()
.setUri("https://html5demos.com/assets/dizzy.mp4")
.setMediaMetadata(new MediaMetadata.Builder().setTitle("Clear MP4: Dizzy").build())
.setMediaMetadata(new MediaMetadata.Builder().setTrackTitle("Clear MP4: Dizzy").build())
.setMimeType(MIME_TYPE_VIDEO_MP4)
.build());

Expand All @@ -63,7 +65,7 @@
new MediaItem.Builder()
.setUri(Uri.parse("https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd"))
.setMediaMetadata(
new MediaMetadata.Builder().setTitle("Widevine DASH cenc: Tears").build())
new MediaMetadata.Builder().setTrackTitle("Widevine DASH cenc: Tears").build())
.setMimeType(MIME_TYPE_DASH)
.setDrmUuid(C.WIDEVINE_UUID)
.setDrmLicenseUri("https://proxy.uat.widevine.com/proxy?provider=widevine_test")
Expand All @@ -72,7 +74,7 @@
new MediaItem.Builder()
.setUri("https://storage.googleapis.com/wvmedia/cbc1/h264/tears/tears_aes_cbc1.mpd")
.setMediaMetadata(
new MediaMetadata.Builder().setTitle("Widevine DASH cbc1: Tears").build())
new MediaMetadata.Builder().setTrackTitle("Widevine DASH cbc1: Tears").build())
.setMimeType(MIME_TYPE_DASH)
.setDrmUuid(C.WIDEVINE_UUID)
.setDrmLicenseUri("https://proxy.uat.widevine.com/proxy?provider=widevine_test")
Expand All @@ -81,7 +83,7 @@
new MediaItem.Builder()
.setUri("https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd")
.setMediaMetadata(
new MediaMetadata.Builder().setTitle("Widevine DASH cbcs: Tears").build())
new MediaMetadata.Builder().setTrackTitle("Widevine DASH cbcs: Tears").build())
.setMimeType(MIME_TYPE_DASH)
.setDrmUuid(C.WIDEVINE_UUID)
.setDrmLicenseUri("https://proxy.uat.widevine.com/proxy?provider=widevine_test")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ public void onBindViewHolder(QueueItemViewHolder holder, int position) {
holder.item = Assertions.checkNotNull(playerManager.getItem(position));

TextView view = holder.textView;
view.setText(holder.item.mediaMetadata.title);
view.setText(holder.item.mediaMetadata.trackTitle);
// TODO: Solve coloring using the theme's ColorStateList.
view.setTextColor(
ColorUtils.setAlphaComponent(
Expand Down Expand Up @@ -308,7 +308,7 @@ public SampleListAdapter(Context context) {
@NonNull
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = super.getView(position, convertView, parent);
((TextView) view).setText(Util.castNonNull(getItem(position)).mediaMetadata.title);
((TextView) view).setText(Util.castNonNull(getItem(position)).mediaMetadata.trackTitle);
return view;
}
}
Expand Down
1 change: 1 addition & 0 deletions demos/gl/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ android {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
signingConfig signingConfigs.debug
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ public void draw(int frameTexture, long frameTimestampUs) {
case "scaleY":
uniform.setFloat(bitmapScaleY);
break;
default: // fall out
}
}
for (GlUtil.Attribute copyExternalAttribute : attributes) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ private void initializePlayer() {
.setUuidAndExoMediaDrmProvider(drmSchemeUuid, FrameworkMediaDrm.DEFAULT_PROVIDER)
.build(drmCallback);
} else {
drmSessionManager = DrmSessionManager.getDummyDrmSessionManager();
drmSessionManager = DrmSessionManager.DRM_UNSUPPORTED;
}

DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
import android.view.Surface;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.GlUtil;
import com.google.android.exoplayer2.util.TimedValueQueue;
Expand Down Expand Up @@ -72,7 +72,7 @@ public interface VideoProcessor {

@Nullable private SurfaceTexture surfaceTexture;
@Nullable private Surface surface;
@Nullable private Player.VideoComponent videoComponent;
@Nullable private ExoPlayer.VideoComponent videoComponent;

/**
* Creates a new instance. Pass {@code true} for {@code requireSecureContext} if the {@link
Expand Down Expand Up @@ -151,7 +151,7 @@ public void destroySurface(EGL10 egl, EGLDisplay display, EGLSurface surface) {
*
* @param newVideoComponent The new video component, or {@code null} to detach this view.
*/
public void setVideoComponent(@Nullable Player.VideoComponent newVideoComponent) {
public void setVideoComponent(@Nullable ExoPlayer.VideoComponent newVideoComponent) {
if (newVideoComponent == videoComponent) {
return;
}
Expand Down
1 change: 1 addition & 0 deletions demos/main/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ android {
"proguard-rules.txt",
getDefaultProguardFile('proguard-android.txt')
]
signingConfig signingConfigs.debug
}
debug {
jniDebuggable = true
Expand Down
6 changes: 4 additions & 2 deletions demos/main/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
<activity android:name="com.google.android.exoplayer2.demo.SampleChooserActivity"
android:configChanges="keyboardHidden"
android:label="@string/application_name"
android:theme="@style/Theme.AppCompat">
android:theme="@style/Theme.AppCompat"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
Expand All @@ -65,7 +66,8 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
android:launchMode="singleTop"
android:label="@string/application_name"
android:theme="@style/PlayerTheme">
android:theme="@style/PlayerTheme"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.exoplayer.demo.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
Expand Down
14 changes: 14 additions & 0 deletions demos/main/src/main/assets/media.exolist.json
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,13 @@
"subtitle_mime_type": "application/ttml+xml",
"subtitle_language": "ja"
},
{
"name": "TTML Netflix Japanese examples (IMSC1.1)",
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/gen-3/screens/dash-vod-single-segment/video-avc-baseline-480.mp4",
"subtitle_uri": "https://storage.googleapis.com/exoplayer-test-media-1/ttml/netflix_japanese_ttml.xml",
"subtitle_mime_type": "application/ttml+xml",
"subtitle_language": "ja"
},
{
"name": "WebVTT positioning",
"uri": "https://html5demos.com/assets/dizzy.mp4",
Expand All @@ -506,6 +513,13 @@
"subtitle_mime_type": "text/x-ssa",
"subtitle_language": "en"
},
{
"name": "SubStation Alpha styling",
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/gen-3/screens/dash-vod-single-segment/video-avc-baseline-480.mp4",
"subtitle_uri": "https://storage.googleapis.com/exoplayer-test-media-1/ssa/test-subs-styling.ass",
"subtitle_mime_type": "text/x-ssa",
"subtitle_language": "en"
},
{
"name": "MPEG-4 Timed Text",
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/mp4/dizzy-with-tx3g.mp4"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,8 @@ private void startDownload(DownloadRequest downloadRequest) {

private DownloadRequest buildDownloadRequest() {
return downloadHelper
.getDownloadRequest(Util.getUtf8Bytes(checkNotNull(mediaItem.mediaMetadata.title)))
.getDownloadRequest(
Util.getUtf8Bytes(checkNotNull(mediaItem.mediaMetadata.trackTitle.toString())))
.copyWithKeySetId(keySetId);
}
}
Expand Down
Loading