11979 Commits

Author SHA1 Message Date
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
andrewlewis
40993f4f75 Fix Metadata.Entry link
PiperOrigin-RevId: 385595264
2021-07-20 08:56:43 +01:00
ibaker
42da46ceb3 Fix release notes duplication introduced by 22ab14844b
PiperOrigin-RevId: 385582191
2021-07-20 08:55:22 +01:00
ibaker
22ab14844b 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

#minor-release

PiperOrigin-RevId: 385580741
2021-07-20 08:54:04 +01:00
samrobinson
135eb3f8cf Split some MediaMetadataTest cases into TextInformationFrameTest.
PiperOrigin-RevId: 385562351
2021-07-20 08:52:38 +01:00
andrewlewis
5bc080fd41 Fix diagram name typo
PiperOrigin-RevId: 385561505
2021-07-20 08:51:12 +01:00
ibaker
9cba98114c Document that apps must depend on a consistent module version
PiperOrigin-RevId: 385522972
2021-07-20 08:48:36 +01:00
kimvde
fa1bb32deb Remove deprecated PlaybackPreparer
Also update release note to account for upcoming ControlDispatcher removal.

PiperOrigin-RevId: 385520701
2021-07-20 08:47:26 +01:00
kimvde
30e65acf63 Deprecate ControlDispatcher in Leanback library
PiperOrigin-RevId: 385503851
2021-07-20 08:44:47 +01:00
olly
fdc2cbd7e2 decoder_av1/build.gradle: disable BUILD_TESTING in cmake
this avoids an extra download of googletest by cpu_features after:
06fdc0a cmake: Use CTest default (Fix #169) (#170)

PiperOrigin-RevId: 385181519
2021-07-20 08:43:28 +01:00
ibaker
d4cb62eb7b 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 08:40:55 +01:00
ibaker
a2929d0920 Merge duplicate RTSP sections in dev-v2 release notes
PiperOrigin-RevId: 385139398
2021-07-20 08:39:34 +01:00
kimvde
31c9875ec9 Deprecate ControlDispatcher in the UI
PiperOrigin-RevId: 385129211
2021-07-20 08:38:13 +01:00
kimvde
3830848888 Use Player methods in DefaultControlDispatcher
PiperOrigin-RevId: 385118021
2021-07-20 08:36:46 +01:00
klhyun
f173ffa972 Do not set aspect ratio if unknown.
When the size of the video is unknown,
PlayerView and StyledPlayerView set the aspect ratio as 1,
which could result in wrong view layout.

This CL sets the aspect ratio as 0 (unset) to prevent that.

This handles Issue: #9189.

PiperOrigin-RevId: 385115357
2021-07-20 08:35:17 +01:00
kimvde
626c3e9843 Remove fastforward_increment and rewind_increment attributes
This values won't be configurable from the UI anymore once the
DefaultControlDispatcher is removed.

They can be configured in the Player or by using a ForwardingPlayer.

PiperOrigin-RevId: 385113498
2021-07-20 08:33:49 +01:00
olly
c7d34d768d The sound, vibrate and ticker will only be played once
Android doc:https://developer.android.com/reference/android/app/Notification.Builder#setOnlyAlertOnce(boolean)

PiperOrigin-RevId: 384227580
2021-07-16 16:12:59 +01:00
kimvde
d587420650 Add support for MP4 H263 atom type
#minor-release
Issue:#9158
PiperOrigin-RevId: 383660258
2021-07-16 16:12:59 +01:00
ibaker
17c6092335 Clarify the thread requirements of a SurfaceView or SurfaceHolder
Issue: #9005
PiperOrigin-RevId: 382765045
2021-07-16 16:12:59 +01:00
ibaker
278593f0c8 Use the content URI as well as mediaId for the auto-generated ad ID
MediaItem.mediaId used to default to the content URI, but this changed:
cc26a92e07

Before the mediaId change linked above, a playlist of different content
all with the same ad URI would play the ads for every item. After the
change the ad would only play once (because mediaId == "" for every
item, so they're all the same). This change restores roughly the
original behaviour by always considering both mediaId and the content
URI.

Issue: #9106
PiperOrigin-RevId: 382763618
2021-07-16 16:12:59 +01:00
ibaker
306b2e6d2e Don't propagate attrs into child SubtitleOutput from SubtitleView
PiperOrigin-RevId: 382763308
2021-07-16 16:12:59 +01:00
ibaker
3430912581 Encode emsg duration & ID as int64 instead of uint32
The serialization scheme used here is custom, it doesn't need
to be compatible with emsg-v0 or emsg-v1 (since
97183ef558).

This means that C.TIME_UNSET will propagate correctly through the
serialization.

Issue: #9123
PiperOrigin-RevId: 382762873
2021-07-16 16:12:59 +01:00
ibaker
f5d8efbf40 Add @Deprecated to SEP methods that override deprecated methods
Without this annotation it seems that `SimpleExoPlayer` effectively
'un-deprecates' the method, specifically:
* A usage of these methods isn't flagged by Android Studio if the
  declared type is `SimpleExoPlayer` (up-casting to e.g.
  `ExoPlayer.VideoComponent` results in the warning showing up).
* The `SimpleExoPlayer` javadoc doesn't mention this method is
  deprecated:
  https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/SimpleExoPlayer.html#addVideoListener(com.google.android.exoplayer2.video.VideoListener)
* The Metalava API output for `SimpleExoPlayer` doesn't show these
  methods as deprecated.

PiperOrigin-RevId: 382756174
2021-07-16 16:12:59 +01:00
aquilescanta
d699fb5dd9 Add info about trick-playness to the Format log string
PiperOrigin-RevId: 382139109
2021-07-16 16:12:59 +01:00
kimvde
e272e3b1c8 Improve support for Ogg truncated content
Issue:#7608
PiperOrigin-RevId: 382081687
2021-07-16 16:12:59 +01:00
claincly
ff5694a0b6 Amend RTSP dev guide to match the current code status.
PiperOrigin-RevId: 381852972
2021-07-16 16:12:59 +01:00
Oliver Woodman
125a8d3caa Merge pull request #9119 from chvp:media2-dispatch-previous-next
PiperOrigin-RevId: 381833313
2021-07-16 16:12:59 +01:00