118 Commits

Author SHA1 Message Date
ibaker
96f35bbc3a Add a dev guide section about ForwardingPlayer
Issue: google/ExoPlayer#9897
Issue: google/ExoPlayer#10268

#minor-release

PiperOrigin-RevId: 450428520
2022-05-23 14:58:08 +01:00
ibaker
e39a324b19 Add DefaultMediaSourceFactory.setDataSourceFactory
Also add this to the stable API instead of the constructor that takes
`DataSource.Factory`.

PiperOrigin-RevId: 450414119
2022-05-23 13:26:05 +01:00
ibaker
5baeffbf59 Simplify some DefaultMediaSourceFactory instantiation in the dev guide
In many cases we're passing a 'custom' DataSource.Factory where it's not
relevant for the respective dev guide section.

#minor-release

PiperOrigin-RevId: 450374171
2022-05-24 12:09:58 +01:00
ibaker
cfaf39c82c Clarify the priority of live config values in the dev guide
PiperOrigin-RevId: 449485592
2022-05-24 11:48:16 +01:00
ibaker
938728ce00 Add DefaultMediaSourceFactory.{set,clear}LocalAdInsertionConfig
Deprecate the setAdsLoaderProvider and setAdViewProvider methods these
replace.

PiperOrigin-RevId: 448251423
2022-05-24 10:59:01 +01:00
bachinger
ebcd3b0301 Add format when building a URI for an IMA SSAI media item
PiperOrigin-RevId: 445098397
2022-05-09 10:44:00 +01:00
ibaker
f08dea266e Update the playback speed details in the live streaming dev guide
ExoPlayer's default behaviour changed in b12918d1e6.

Issue: google/ExoPlayer#10170
#minor-release
PiperOrigin-RevId: 443611196
2022-04-26 16:27:20 +01:00
olly
fbd8273430 Tracks.Group/TrackGroup variable naming disambiguation
PiperOrigin-RevId: 441712166
2022-04-26 15:20:53 +01:00
olly
0ad508b14f Rename TracksInfo and TrackGroupInfo
1. TracksInfo is renamed to Tracks
2. TracksInfo.TrackGroupInfo is renamed to Tracks.Group

PiperOrigin-RevId: 441232373
2022-04-26 14:59:00 +01:00
ibaker
7a08f73ee4 Add @OptIn annotations to dev guide snippets
These cover developer journeys that we don't plan to stabilise in 1.0.0

PiperOrigin-RevId: 438812300
2022-04-07 16:33:02 +01:00
ibaker
57a937d72a Deduplicate the network-stacks and customization dev guide pages
PiperOrigin-RevId: 438547078
2022-04-07 16:00:58 +01:00
ibaker
5b08df001a Remove references to deprecated DefaultDataSourceFactory from dev guide
#minor-release

PiperOrigin-RevId: 436997521
2022-03-24 15:13:09 +00:00
ibaker
b4b049c593 Remove unneeded HttpDataSource references from the dev guide
Where the DataSource interface offers enough functionality, we can just
reference that.

PiperOrigin-RevId: 436521221
2022-03-22 18:12:37 +00:00
olly
c8e8bb14d6 Copy edit async buffer queueing documentation
PiperOrigin-RevId: 436176051
2022-03-21 12:08:46 +00:00
ibaker
c2af562922 Rename ServerSideInsertedAdsMediaSource in the dev guide
It was renamed to ServerSideAdInsertionMediaSource in 2749dbd3f5.

PiperOrigin-RevId: 434775357
2022-03-15 16:39:02 +00:00
christosts
36cef2b496 Add instructions to enable asynchronous buffer queueing
PiperOrigin-RevId: 434713295
2022-03-24 17:22:28 +00:00
ibaker
72bda9e6bf Update javadoc for 2.17.1
#minor-release

PiperOrigin-RevId: 433499164
2022-03-09 17:44:27 +00:00
olly
ad81d5dd20 TrackSelectionOverride: Remove select-all-tracks constructor
This constructor always does the wrong thing for non-adaptive groups
containing more than 1 track, because it'll incorrectly generate an
adaptive selection. Replace it with a constructor for specifying a
single track within the group instead.

PiperOrigin-RevId: 431673458
2022-03-03 12:27:28 +00:00
olly
b4e05e00f2 TrackSelectionParameters: Simplify disabling of track types
As evidenced by the somewhat awkward logic in PlayerControlView, the
previous design wasn't very friendly to expected usage. There will be
more usage when the track selection dialog components are migrated,
which would be similarly awkward without this change.

PiperOrigin-RevId: 431407675
2022-03-01 10:14:38 +00:00
ibaker
a5571010d0 Update javadoc for 2.17.0
#minor-release

PiperOrigin-RevId: 430437927
2022-02-23 16:28:08 +00:00
olly
daf72f518c Flatten TrackSelectionParameters
PiperOrigin-RevId: 428747243
2022-02-17 14:24:02 +00:00
olly
c90745d956 Add getFormat and length to TrackGroupInfo
PiperOrigin-RevId: 428520090
2022-02-17 11:51:07 +00:00
krocard
e5f2e44c29 Split AnalyticsCollector in interface and default Impl
This will allow R8 to strip out the implementation
if it is not needed for an app.

#minor-release

PiperOrigin-RevId: 427983730
2022-02-17 11:03:17 +00:00
tonihei
643c426d86 Add documentation for server-side ad insertion.
PiperOrigin-RevId: 427679101
2022-02-17 10:25:04 +00:00
olly
9f85a525d7 Fix minimum API level issue
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
2022-02-08 11:03:36 +00:00
samrobinson
a3f981ae86 Output from the Transformer the average audio & video bitrates.
PiperOrigin-RevId: 426956151
2022-02-08 11:00:05 +00:00
ibaker
c9e8a6de88 Don't use code font in titles in the dev guide
#minor-release

PiperOrigin-RevId: 426870114
2022-02-08 10:30:35 +00:00
ibaker
c235087c11 Remove deprecated ActionFile and ActionFileUpgradeUtil
#minor-release

PiperOrigin-RevId: 426868933
2022-02-08 10:26:35 +00:00
ibaker
1391b7c65d Remove references to Player(Control)View from the dev guide
Remove most of the customisation documentation, since StyledPlayerView
isn't really designed to be customised as deeply as PlayerView.

Also remove most documentation around StyledPlayerControlView,
especially as a standalone controller class - since it doesn't work
well for this use-case.

#minor-release

PiperOrigin-RevId: 426090762
2022-02-04 10:09:40 +00:00
olly
29a6280b1b Rewrite EventLogger to use new track APIs
PiperOrigin-RevId: 425595951
2022-02-02 10:22:05 +00:00
tonihei
174d99481a Remove opt-out for suppressing wrong thread usage error.
Enforcing the correct thread usage has been enabled since 2.13.0.
Opting-out of this enforement is dangerous as it can hide very hard
to debug bugs.

PiperOrigin-RevId: 424815808
2022-01-28 14:33:43 +00:00
samrobinson
76ceca70b4 Correct variable name in developer guide.
PiperOrigin-RevId: 424287392
2022-01-28 09:16:10 +00:00
andrewlewis
50bf44b6c2 Update reference to DefaultHttpDataSourceFactory
PiperOrigin-RevId: 422515892
2022-01-25 18:19:06 +00:00
andrewlewis
085042d6aa Fix minor exoplayer.dev issues
PiperOrigin-RevId: 422349626
2022-01-25 17:51:17 +00:00
hschlueter
f8d84eec59 Allow multiple Transformer listeners to be registered.
Multiple listeners can be added to Transformer and its builder.
All or specific listeners can also be removed.

PiperOrigin-RevId: 421047650
2022-01-14 14:39:20 +00:00
ibaker
831cfe2026 Add Cronet keywords to SSL certificate troubleshooting entry
We [recommend apps use Cronet](https://exoplayer.dev/network-stacks.html#choosing-a-network-stack)
and the demo app uses it, so we should make it easy to look-up errors
like this in our troubleshooting page.

Issue: google/ExoPlayer#9851

#minor-release

PiperOrigin-RevId: 421015537
2022-01-14 14:24:10 +00:00
ibaker
103b170a56 Rename some references from PlayerView to LegacyPlayerView
These were missed in 46ab94bd41

These references will be re-written to PlayerView when exporting to
exoplayer2, so this commit results in some small reformatting changes.

Also fix a reference to LegacyPlayerControlView that should be
StyledPlayerControlView.

PiperOrigin-RevId: 420707706
2022-01-10 12:53:59 +00:00
ibaker
fa419f21a9 Fix deprecated reference to Player.EventListener in the dev guide
#minor-release

PiperOrigin-RevId: 417961565
2022-01-04 13:01:33 +00:00
ibaker
086688ed3c Fix reference to deprecated ExoPlayer.retry() method in dev guide.
#minor-release

PiperOrigin-RevId: 417959956
2022-01-04 12:56:37 +00:00
ibaker
5e8d1eb7f3 Add MediaSource.Factory and deprecate MediaSourceFactory
This more closely matches the pattern we have for all implementations
except DefaultMediaSourceFactory (e.g. ProgressiveMediaSource.Factory)
and other factory interfaces like (Http)DataSource.Factory.

PiperOrigin-RevId: 417826803
2022-01-04 12:51:47 +00:00
tonihei
65c444538b Rename HLS master playlist to multivariant playlist
The spec renamed this type of playlist in the latest revision
to use a more inclusive technical term (see
https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-10)

PiperOrigin-RevId: 417560274
2021-12-21 17:14:42 +00:00
ibaker
46ab94bd41 Rename PlayerView to LegacyPlayerView in media3
The old name is kept in exoplayer2.

PiperOrigin-RevId: 417378759
2021-12-20 13:53:35 +00:00
ibaker
6cce3dfb50 Remove references to MediaSourceFactory#setStreamKeys from dev guide
This method has been deprecated since 2.12.0:
d1bbd3507a

PiperOrigin-RevId: 416827149
2021-12-20 12:58:24 +00:00
ibaker
c1f878deb1 Move DefaultMediaSourceFactory.AdsLoaderProvider to AdsLoader.Provider
Keep the old interface deprecated so any app code implementing it by
name (rather than with a lambda) will continue to work.

PiperOrigin-RevId: 416816566
2021-12-20 12:54:56 +00:00
hschlueter
5bd22c3ab7 Use TransformationException for error listener parameter.
PiperOrigin-RevId: 416307600
2021-12-14 17:47:23 +00:00
tonihei
1044cfe82a Turn on HLS chunkless preparation by default.
Using chunkless preparation greatly improves start up time if the master
playlist declares CODECS for the renditions. Hence, we turn this on
by default as it benefits most well-defined HLS master playlists.

The only known reason why developers may want to turn this feature off is
when the renditions contain muxed closed-caption tracks that are not
declared in the master playlist. So this change also updates the documentation
and RELEASENOTES to point out this caveat.

PiperOrigin-RevId: 413950036
2021-12-06 12:58:17 +00:00
Oliver Woodman
e288f9428f Merge pull request #9606 from ened:rtsp-socket-factory
PiperOrigin-RevId: 413751821
2021-12-06 12:36:42 +00:00
huangdarwin
0fbd4959fd Transformer: Move required Builder context to be a constructor arg.
Deprecates setContext() and moves the required Context arg into the constructor.

This way, the parameter can later be final and non-null, per the comment at:
ecb47ba564/depot/google3/third_party/java_src/android_libs/media/libraries/transformer/src/main/java/androidx/media3/transformer/TranscodingTransformer.java (97L)

Also, fixes setOutputMimeType_unsupportedMimeType_throws by providing a context
in the builder, and updating the FrameworkMuxer#supportsOutputMimeType to catch
IllegalArgumentExceptions thrown by FrameworkMuxer#mimeTypeToMuxerOutputFormat.

PiperOrigin-RevId: 412053564
2021-11-26 15:48:53 +00:00
claincly
e158f9ab0e
Merge branch 'dev-v2' into rtsp-socket-factory 2021-11-24 11:21:34 +00:00
kimvde
4a0ea37aae Transformer: deprecate setOutputMimeType
PiperOrigin-RevId: 411010270
2021-11-19 14:30:47 +00:00