12775 Commits

Author SHA1 Message Date
tonihei
f7c9b439a4 Rename indexes to indices in TrackSelectionOverrides
And in a couple of related places.

This is for consistency with the rest of the codebase where
we exclusively use indices.

#minor-release

PiperOrigin-RevId: 408273372
2021-11-08 10:17:42 +00:00
tonihei
80ebbbf18f Fix deprecated Javadoc link.
#minor-release

PiperOrigin-RevId: 408269341
2021-11-08 10:17:30 +00:00
ibaker
e5fc714136 Migrate usages of deprecated MediaItem symbols
#minor-release

PiperOrigin-RevId: 407847729
2021-11-08 10:17:18 +00:00
ibaker
1f0fbafdc6 Migrate the demo app to use non-deprecated MediaItem Builders
#minor-release

PiperOrigin-RevId: 407843859
2021-11-08 10:17:02 +00:00
ibaker
852480a844 Update the demo app to use the stable ExoPlayer.Builder constructor
The ExoPlayer.Builder constructor overloads are only needed for apps
trying to ensure certain classes are removed by R8/proguard, which isn't
relevant for the demo app.

PiperOrigin-RevId: 407819694
2021-11-08 10:16:51 +00:00
tonihei
127aa29fa7 Fix track selection with mixed empty/non-empty overrides
When we have multiple overrides for TrackGroups associated with
one renderer, we need to look at all of them to find the non-empty
one. Empty ones should only be used to remove previously selected
tracks for this group and otherwise be ignored.

Currently this is broken because the first override (no matter if
it's empty or not) is used as the final selection for this renderer.

Issue: google/ExoPlayer#9649

PiperOrigin-RevId: 407792330
2021-11-08 10:16:06 +00:00
tonihei
3e934e5379 Rename indexes to indices in TrackSelectionOverrides
And in a couple of related places.

This is for consistency with the rest of the codebase where
we exclusively use indices.

#minor-release

PiperOrigin-RevId: 408273372
2021-11-08 10:09:31 +00:00
tonihei
1a81662dad Fix deprecated Javadoc link.
#minor-release

PiperOrigin-RevId: 408269341
2021-11-08 10:09:31 +00:00
olly
8fb0af83f5 Use stop(boolean) in MediaSessionConnector 2021-11-08 10:08:24 +00:00
ibaker
08d827f2ed Migrate usages of deprecated MediaItem symbols
#minor-release

PiperOrigin-RevId: 407847729
2021-11-08 09:48:45 +00:00
ibaker
ed63fee21c Migrate the demo app to use non-deprecated MediaItem Builders
#minor-release

PiperOrigin-RevId: 407843859
2021-11-08 09:43:55 +00:00
ibaker
028bb2341a Update the demo app to use the stable ExoPlayer.Builder constructor
The ExoPlayer.Builder constructor overloads are only needed for apps
trying to ensure certain classes are removed by R8/proguard, which isn't
relevant for the demo app.

PiperOrigin-RevId: 407819694
2021-11-08 09:38:57 +00:00
Steve Mayhew
530dd3f733 Correct comment on track selection during seek
The comment "all should be same" is not correct,  it is extremely likely they will be the same but not assured.   In either case the seek position will work, it just may not land exactly on a sync point in every variant.
2021-11-05 13:08:20 -07:00
christosts
9e1597a479 Add experimental method to turn-off async flush
When operating the MediaCodec in asynchronous mode, after a
MediaCodec.flush(), we start MediaCodec in the callback thread,
which might trigger errors in some platforms. This change adds an
experimental flag to move the call to MediaCodec.start() back to the
playback thread.

PiperOrigin-RevId: 407801013
2021-11-05 13:30:44 +00:00
tonihei
0b48570bb3 Fix track selection with mixed empty/non-empty overrides
When we have multiple overrides for TrackGroups associated with
one renderer, we need to look at all of them to find the non-empty
one. Empty ones should only be used to remove previously selected
tracks for this group and otherwise be ignored.

Currently this is broken because the first override (no matter if
it's empty or not) is used as the final selection for this renderer.

Issue: google/ExoPlayer#9649

#minor-release

PiperOrigin-RevId: 407792330
2021-11-05 12:11:03 +00:00
hschlueter
8552345f8f Add PassthroughSamplePipeline for audio.
When no transformation is needed, the passthrough pipeline allows us to skip decoding and re-encoding.

PiperOrigin-RevId: 407789767
2021-11-05 12:06:37 +00:00
christosts
85e222a785 Minor fix in AsynchronousMediaCodecAdapter.signalEndOfInputStream()
PiperOrigin-RevId: 407635099
2021-11-05 11:57:41 +00:00
huangdarwin
14b42a4ed1 GL: Misc GL refactoring.
* Remove GlUtil.Program String[] constructor to unify and just use the
  String constructor.
* Add getAttributeArrayLocationAndEnable() to simplify things a tiny bit.
* Increase usage of constant values.

PiperOrigin-RevId: 407570340
2021-11-05 11:53:00 +00:00
hschlueter
62a35018f8 Separate TransformerAudioRenderer and new AudioSamplePipeline.
`TransformerAudioRenderer` reads input and passes `DecoderInputBuffer`s to the `AudioSamplePipeline`. The `AudioSamplePipeline` handles all steps from decoding to encoding. `TransformerAudioRenderer` receives `DecoderInputBuffer`s from the `AudioSamplePipeline` and passes their data to the muxer.

`AudioSamplePipeline` implements a new interface `SamplePipeline`. A pass-through pipeline will be added in a future cl.

PiperOrigin-RevId: 407555102
2021-11-05 11:48:26 +00:00
olly
0e88f13e0f Update security mailing list
PiperOrigin-RevId: 407540705
2021-11-05 11:44:08 +00:00
Sebastian Roth
ab397e408a move release notes entry 2021-11-05 11:10:29 +00:00
Sebastian Roth
d89e18fe6d Merge branch 'dev-v2' into rtsp-socket-factory 2021-11-05 11:09:48 +00:00
Sebastian Roth
4c0008a29c Merge branch 'dev-v2' of https://github.com/google/ExoPlayer into dev-v2 2021-11-05 11:09:37 +00:00
tonihei
253b2b6b28 Merge branch 'release-v2' into dev-v2 2021-11-04 14:12:55 +00:00
tonihei
7fe9ecc1c5
Merge pull request #9648 from google/dev-v2-r2.16.0
r2.16.0
2021-11-04 14:01:15 +00:00
tonihei
7b89c4363c Update Javadoc for 2.16.0
PiperOrigin-RevId: 407379522
2021-11-04 08:32:50 +00:00
tonihei
5c3d57fdc1 Merge branch 'dev-v2' of https://github.com/google/ExoPlayer into dev-v2 2021-11-04 08:32:20 +00:00
tonihei
468e4aa0c4 Update Javadoc for 2.16.0
PiperOrigin-RevId: 407379522
2021-11-04 01:03:22 +00:00
hschlueter
49a93e31d7 Write sample size to dumpfile in transformer tests.
If the number of samples changes, the sizes will help us to verify whether they are just split differently or extra data was added.

PiperOrigin-RevId: 407346280
2021-11-04 00:59:42 +00:00
christosts
5d2df83496 Add DefaultMediaCodecFactory.getCodecAdapter() method
Add protected method DefaultRenderersFactory.getCodecAdapter(), so that
subclasses of DefaultRenderersFactory that override
buildVideoRenderers() or buildAudioRenderers() can access the
DefaultRenderersFactory codec adapter factory and pass it to
MediaCodecRenderer instances they may create.

#minor-release

PiperOrigin-RevId: 407345431
2021-11-04 00:55:55 +00:00
tonihei
6388dc6376 Update release notes for 2.16.0
PiperOrigin-RevId: 407333525
2021-11-03 16:13:45 +00:00
tonihei
de71fd6eba Bump version to 2.16.0
PiperOrigin-RevId: 407314385
2021-11-03 15:58:14 +00:00
samrobinson
f6e0790a68 Fix END_OF_STREAM transformer timestamp matching previous.
This cause the muxer to fail to stop on older devices/API levels.

#minor-release

PiperOrigin-RevId: 407309028
2021-11-03 15:58:05 +00:00
ibaker
293cf2f865 Fix broken link on supported-formats dev guide page
#minor-release

PiperOrigin-RevId: 407305661
2021-11-03 15:57:53 +00:00
kimvde
9e247d287f WavExtractor: split header reading state into 2 states
This refactoring is the basis to support RF64 (see
Issue: google/ExoPlayer#9543).

#minor-release

PiperOrigin-RevId: 407301056
2021-11-03 15:57:39 +00:00
tonihei
ac66487013 Add missing RetentionPolicy for IntDef
PiperOrigin-RevId: 407162673
2021-11-03 15:57:29 +00:00
aquilescanta
be4ea151c4 Parse HDR static metadata from MP4 files
#minor-release

PiperOrigin-RevId: 407136922
2021-11-03 15:57:11 +00:00
tonihei
cddebdcf03 Suppress lint warnings in leanback module.
These warnings are caused by the fact that this is a library and the
lint check doesn't see any app using the library in a TV context.

PiperOrigin-RevId: 407110725
2021-11-03 15:57:00 +00:00
samrobinson
5a98c823fc Update the TransformerMediaClock trackTime before deducting the offset.
#minor-release

PiperOrigin-RevId: 407086818
2021-11-03 15:56:47 +00:00
tonihei
8ab76ac9fb Merge branch 'dev-v2' of https://github.com/google/ExoPlayer into dev-v2 2021-11-03 15:53:28 +00:00
tonihei
bc3360e5d4 Update release notes for 2.16.0
PiperOrigin-RevId: 407333525
2021-11-03 15:39:53 +00:00
tonihei
2d31100264 Bump version to 2.16.0
PiperOrigin-RevId: 407314385
2021-11-03 15:35:19 +00:00
samrobinson
0c4f5ebc91 Fix END_OF_STREAM transformer timestamp matching previous.
This cause the muxer to fail to stop on older devices/API levels.

#minor-release

PiperOrigin-RevId: 407309028
2021-11-03 15:30:43 +00:00
ibaker
d5a87d13b7 Fix broken link on supported-formats dev guide page
#minor-release

PiperOrigin-RevId: 407305661
2021-11-03 15:26:02 +00:00
kimvde
1139399193 WavExtractor: split header reading state into 2 states
This refactoring is the basis to support RF64 (see
Issue: google/ExoPlayer#9543).

#minor-release

PiperOrigin-RevId: 407301056
2021-11-03 15:21:28 +00:00
olly
a9f7b943c8 Prepare for adding ServerSideInsertedAdsMediaSource for IMA
PiperOrigin-RevId: 407274072
2021-11-03 15:16:58 +00:00
tonihei
7b9b878aeb Add missing RetentionPolicy for IntDef
PiperOrigin-RevId: 407162673
2021-11-03 15:12:19 +00:00
aquilescanta
41e338229a Parse HDR static metadata from MP4 files
#minor-release

PiperOrigin-RevId: 407136922
2021-11-03 15:07:30 +00:00
tonihei
1ed5861a72 Suppress lint warnings in leanback module.
These warnings are caused by the fact that this is a library and the
lint check doesn't see any app using the library in a TV context.

PiperOrigin-RevId: 407110725
2021-11-03 15:02:49 +00:00
samrobinson
9970aaf673 Update the TransformerMediaClock trackTime before deducting the offset.
#minor-release

PiperOrigin-RevId: 407086818
2021-11-03 14:57:58 +00:00