12205 Commits

Author SHA1 Message Date
bachinger
351275587e Exclude failing playlist before the HlsMediaPeriod has been prepared
PiperOrigin-RevId: 386521255
2021-07-27 12:18:16 +01:00
aquilescanta
33fa987b32 Assign ERROR_CODE_IO_UNSPECIFIED to unclassified IOExceptions
The reason this was not an IO error code is that before other
IOExceptions were classified, this catch would grab non-IO error
codes, like ParserException. Now that we are getting closer to
the final state, we can assume IOExceptions are ok to classify
as IO error codes (unlike, for example, ParserExceptions or
DrmSessionExceptions).

PiperOrigin-RevId: 386496752
2021-07-27 12:17:00 +01:00
olly
3488c047e8 Refine LoadErrorHandlingPolicy Javadoc
PiperOrigin-RevId: 386453305
2021-07-27 12:15:24 +01:00
bachinger
2ee6d6d95d Make getFallbackSelection nullable to indicate disabling of exclusion
PiperOrigin-RevId: 386442542
2021-07-27 12:14:04 +01:00
olly
cae309123b Rollback of 4c10d2bd4c
*** Original commit ***

Migrate /-as-division to math.div

If google3 is the source-of-truth for this third_party code (or if this is legacy code that is no longer synced with an external source), just LGTM this CL and Rosie will submit it. If not, you should patch the upstream source of these files, since we will be disabling support for /-as-division in google3 before support is formally removed from the language.

See go/lsc-slash-as-division-deprecation.

Tested:
    TAP found no affected targets. No targets were b...

***

PiperOrigin-RevId: 386432441
2021-07-23 14:14:31 +01:00
kim-vde
8e29e76b51 Merge pull request #9163 from ProtoScott:feature/dtsx_codec_updates
PiperOrigin-RevId: 386428758
2021-07-23 14:12:29 +01:00
kimvde
72cf9c3815 Deprecate ControlDispatcher and DefaultControlDispatcher
PiperOrigin-RevId: 386401066
2021-07-23 14:11:00 +01:00
aquilescanta
d6c721ffc5 Move DRM exception classification method to public API
PiperOrigin-RevId: 386232697
2021-07-23 14:09:29 +01:00
kimvde
b33496aeae Deprecate ControlDispatcher in MediaSessionConnector
PiperOrigin-RevId: 386227630
2021-07-23 14:07:55 +01:00
claincly
13ff72d869 Use RTSP header names as defined in the spec.
Using all lower case RTSP headers is perfectly valid, as the spec mandates case
insensitively. However, some RTSP servers do not implement the RTSP spec
closely and does not recognize the lower case headers. This change aims
at using the header names as defined in the RTSP spec to maximize compatibility.

Issue: #9182
PiperOrigin-RevId: 386224566
2021-07-23 14:05:50 +01:00
ybai001
5c95a59060 Update E-AC3-JOC Codec String Name and Comment 2021-07-23 12:00:22 +08:00
ybai001
08d81419e7
Merge pull request #22 from google/dev-v2
Merge from Google dev-v2 branch
2021-07-23 11:38:52 +08:00
kimvde
e2f1285ada Document getAvailableCommands in BasePlayer
PiperOrigin-RevId: 386207381
2021-07-22 13:49:21 +01:00
olly
ab416f41ac Release ownedSurface before stopping the player on timeout
PiperOrigin-RevId: 386206960
2021-07-22 13:48:06 +01:00
olly
fe5a7fcc13 Remove trailing whitespace
PiperOrigin-RevId: 386194874
2021-07-22 12:07:38 +01:00
olly
d9ad91d5f8 Adding detail in release notes about PendingIntent
PiperOrigin-RevId: 386194496
2021-07-22 12:06:23 +01:00
kimvde
90113ce013 Deprecate ControlDispatcher in media2
PiperOrigin-RevId: 386185285
2021-07-22 12:05:09 +01:00
kimvde
b69c06a533 Add methods to set/get the seek back/forward increments in test player
PiperOrigin-RevId: 386177945
2021-07-22 12:03:51 +01:00
Ian Baker
c080b446d1 Merge branch 'release-v2' into dev-v2 2021-07-21 19:08:23 +01:00
Ian Baker
80332f7f1b
Merge pull request #9212 from google/dev-v2-r2.14.2
r2.14.2
2021-07-21 19:01:45 +01:00
olly
d168bee1b8 Cleanup some RTSP documentation
#minor-release

PiperOrigin-RevId: 386048024
2021-07-21 18:59:56 +01:00
olly
d3125d0e90 Cleanup some RTSP documentation
#minor-release

PiperOrigin-RevId: 386048024
2021-07-21 18:58:47 +01:00
ibaker
537899da2a Update javadoc for 2.14.2
This also deletes several files that should have been deleted as part
of the 2.14.0 release - both javadoc for classes that were removed in
that release and all the *-frame.html files that no longer seem
to be produced by the javadoc compiler. Also a jquery file
(jquery-1.10.2.js) that's no longer produced by the compiler.

#minor-release

PiperOrigin-RevId: 385997294
2021-07-21 15:48:23 +01:00
ibaker
c65b3d5edc Bump version to 2.14.2 and tidy release notes
PiperOrigin-RevId: 385996618
2021-07-21 15:48:18 +01:00
claincly
5b9c199d33 Add a note for requesting format support.
PiperOrigin-RevId: 385995740
2021-07-21 15:46:11 +01:00
ibaker
368af490f2 Remove Big Buck Bunny FLV asset from Demo app media.exolist.json
This URL no longer resolves.

#minor-release

Issue: #9205
PiperOrigin-RevId: 385772688
2021-07-21 15:45:55 +01:00
andrewlewis
6820b48cb7 Fix RTSP link
PiperOrigin-RevId: 385736588
2021-07-21 15:45:18 +01:00
ibaker
a95e66d1ba Update javadoc for 2.14.2
This also deletes several files that should have been deleted as part
of the 2.14.0 release - both javadoc for classes that were removed in
that release and all the *-frame.html files that no longer seem
to be produced by the javadoc compiler. Also a jquery file
(jquery-1.10.2.js) that's no longer produced by the compiler.

#minor-release

PiperOrigin-RevId: 385997294
2021-07-21 14:51:49 +01:00
ibaker
1466c75d4d Bump version to 2.14.2 and tidy release notes
#minor-release

PiperOrigin-RevId: 385996618
2021-07-21 14:50:26 +01:00
claincly
b77175da0a Add a note for requesting format support.
PiperOrigin-RevId: 385995740
2021-07-21 14:49:15 +01:00
claincly
6f504264e0 Merge the handling of FileDataSourceException and DataSourceException.
FileDataSourceException subclasses DataSourceException and can be handled
in the same fashion.

PiperOrigin-RevId: 385983103
2021-07-21 14:47:59 +01:00
claincly
e4c9078a0c Infer error code in network-based DataSourceException.
In some DataSources, it is not easy to assign an error code at the throw site.
For example, CronetDataSource.readInternal() throws SocketTimeoutException
on L1033, and is caught at L754 as IOException and is thrown.

We need the logic to assign error code for the actual type of the error cause.
While we can certainly do in individual DataSources, IMO there's value in
making this logic generic at a higher level (like what is in this CL).

The catch and translation logic is borrowed from EPII:L646.

PiperOrigin-RevId: 385789629
2021-07-21 14:46:40 +01:00
aquilescanta
14e582b7e5 Remove ExoPlayer uses of ERROR_CODE_DRM_UNSPECIFIED
PiperOrigin-RevId: 385783671
2021-07-21 14:45:17 +01:00
samrobinson
d47d1ebf19 Deprecate static metadata getter and listener method.
PiperOrigin-RevId: 385781004
2021-07-21 14:44:00 +01:00
ibaker
fa9a4521ce Remove Big Buck Bunny FLV asset from Demo app media.exolist.json
This URL no longer resolves.

#minor-release

Issue: #9205
PiperOrigin-RevId: 385772688
2021-07-21 14:42:45 +01:00
samrobinson
0b0277af50 Set StyledPlayerView/PlayerView artwork from MediaMetadata.
PiperOrigin-RevId: 385763366
2021-07-21 14:41:20 +01:00
samrobinson
c157db694a Split MediaMetadataTest cases into PictureFrameTest and ApicFrameTest.
PiperOrigin-RevId: 385758742
2021-07-21 14:39:56 +01:00
samrobinson
fde3075af1 Add an artworkDataType to MediaMetadata.
This field is to be associated with the artworkData.

PiperOrigin-RevId: 385757480
2021-07-21 14:38:30 +01:00
aquilescanta
0fe504d4b1 Add a reference to issue 1611 in error codes' release notes
#minor-release
Issue: #1611
PiperOrigin-RevId: 385741535
2021-07-21 14:37:05 +01:00
andrewlewis
6a5b380359 Fix RTSP link
PiperOrigin-RevId: 385736588
2021-07-21 14:35:35 +01:00
Denise LaFayette
27576cfc73 Fix bug where rubyPosition in text node is not applied
Also fix bug where rubyPosition in ruby container style is not applied
2021-07-20 12:14:59 -04:00
bachinger
f8278da75d Add flag to SinglePeriodTimeline to suppress projection
Issue: #9037
#minor-release
PiperOrigin-RevId: 385630065
2021-07-20 09:18:16 +01:00
andrewlewis
e01838e036 Fix Metadata.Entry link
PiperOrigin-RevId: 385595264
2021-07-20 09:18:16 +01:00
ibaker
dbebd279c4 Avoid DefaultDrmSessionManager releasing too many session references
Before this fix, if DefaultDrmSessionManager.release() was called while
there was at least one 'external' session reference still active (i.e.
session.referenceCount > 1) then the manager will release it's reference
immediately but when the session's reference count subsequently drops to
1 (due to external references being released) the manager will schedule
a task to release its internal reference *again*.

This change fixes the problem by only scheduling the timed release if
the manager is unreleased. This ensures that the internal references
are only released once.

Issue: #9193

PiperOrigin-RevId: 385580741
2021-07-20 09:18:16 +01:00
ibaker
0ae71e22f7 Fix RTSP docs and add a missing release note
* Add release note for `RtspMediaSource.Factory.setTimeoutMs()`
* Remove mention of what we don't support (any such list is necessarily non-exhaustive)
* Remove markdown quote character ('>')

PiperOrigin-RevId: 385143574
2021-07-20 09:18:16 +01:00
aquilescanta
9cd6b50595 Check for TS synchronization before parsing packet from random position
#minor-release
Issue: #9100
PiperOrigin-RevId: 384962258
2021-07-20 09:18:16 +01:00
claincly
d4c62f386f Handle absolute URI in RtspMediaTrack.
Issue: #9183

RFC2326 Section C.1.1 specifies that the URI to identify a track can be either
absolute (like rtsp://example.com/path) or relative (like "path"). Currently
we don't handle absolute URI, and this CL is to add the support.

Note though, we don't currently use the Content-Base or Content-Location
headers for the session URI.

PiperOrigin-RevId: 384649818
2021-07-20 09:18:16 +01:00
olly
0f3818efcc Avoid IncorrectContextUseViolation on Android 11
Applications may need to pass a non-visual context when creating
a DefaultTrackSelector (e.g., because they're audio-only or are
creating the selector in a background service).

Obtaining the default display via DisplayManager avoids the strict
mode violation that occurs when retrieving it via WindowManager.

#minor-release

PiperOrigin-RevId: 384487363
2021-07-20 09:18:16 +01:00
ibaker
a47eb8a08a Explicitly override all non-deprecated methods in Player.Listener
Most of the super-interfaces are deprecated, but the intention is that
only the types are deprecated and the methods themselves shouldn't be.
In order to reflect this in javadoc we override all the methods in
`Player.Listener` in order to 'cancel' the deprecation.

This change deliberately doesn't override methods that are explicitly
deprecated with documented replacements (like
`Player.EventListener#onPlayerStateChanged`) - these should contine to
be marked as deprecated in javadoc.

PiperOrigin-RevId: 384253725
2021-07-20 09:17:58 +01:00
bachinger
3f5dbf2ef3 Add flag to SinglePeriodTimeline to suppress projection
Issue: #9037
#minor-release
PiperOrigin-RevId: 385630065
2021-07-20 08:58:01 +01:00