5663 Commits

Author SHA1 Message Date
GiuseppePiscopo
cc7f011ecb feat(playlist): stick to list.subList API 2018-07-25 18:30:35 +02:00
olly
8952ccac32 Don't exclude .idea from MOE input
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205988261
2018-07-25 15:16:43 +01:00
olly
14216ef53b Nullness fixes for emsg and id3 metadata classes
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205972857
2018-07-25 15:14:50 +01:00
tonihei
3d55bc78f7 Use country and network based initial bitrate estimate.
This changes the default initial bitrate estimate to be country (group) and
network type specific. The existing overwrite still works as before and new
overwrites for the country or specific network types are provided for
customization.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205972705
2018-07-25 15:13:35 +01:00
Arnold Szabo
ae520a8c2c #4306 - Extract tags from SubRip subtitles, add support for alignment tags based on SSA v4+ 2018-07-25 01:29:07 +03:00
olly
a3e3f64b79 Add PRO7S to surface switch workaround
Issue: #4468

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205821059
2018-07-24 15:01:40 +01:00
olly
0287fa21f3 Add PRO7S to surface switch workaround
Issue: #4468

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205821059
2018-07-24 15:00:16 +01:00
olly
340d846d9b Remove some files from the nullness blacklist
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205816544
2018-07-24 14:59:21 +01:00
tonihei
138b222457 Prevent dummy period id in ExoPlayerImplInternal from leaking into actual use.
While the timeline is empty, we keep a dummy MediaPeriodId in PlaybackInfo with
a period index of 0. We leak this MediaPeriodId in actual use in these
situations:
 1. When issuing an IllegalSeekPosition after preparation. The timeline becomes
    non-empty, but the media period id stays at its dummy value.
 2. When re-adding sources to a previously empty timeline. The dummy period id
    is used as the start position for the new non-empty timeline.

This change makes:
 - the constructor of PlaybackInfo using those dummy values more explicit
 - prevents the issues above by using the correct default position in the new
   non-empty timeline for the above mentioned cases.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205803006
2018-07-24 14:58:04 +01:00
tonihei
ffdc17d0e0 Remove generic type parameter from TransferListener.
All known instances use DataSource as generic type and thus code can be simplified
by removing the generic type altogether.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205798542
2018-07-24 14:56:45 +01:00
bachinger
9d0ec37ead Show notification whilst ads are playing but hide playback actions.
Issue:#4535

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205722036
2018-07-24 14:55:24 +01:00
eguven
9c337c8806 Add monoscopic 360 surface type to PlayerView
Using this surface it's possible to play 360 videos in a non-VR Activity that is
affected by phone and touch input.

RELNOTES=true

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205720776
2018-07-24 14:54:05 +01:00
sammon
01b69854ff Refactoring DataSpec constructor calls to use DataSpec.withUri() and DataSpec.subrange().
This reduces the number of calls to the DataSpec constructor and minimizes the number of files that need to be updated when adding a new DataSpec parameter (ex: followup []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205719005
2018-07-24 14:52:58 +01:00
GiuseppePiscopo
2c801ca267 docs(playlist): fix javadoc comments 2018-07-24 10:08:27 +02:00
GiuseppePiscopo
c9b6a73cd8 feat(playlist): add API to remove range of indices 2018-07-24 10:08:27 +02:00
Jovche Mitrejchevski
1f1762538f Support vector drawables to be used as default artwork 2018-07-24 08:16:53 +02:00
olly
a3de7bf399 Update release notes + bump version
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205660355
2018-07-23 16:04:31 +01:00
olly
61b838f414 Update release notes + bump version
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205660355
2018-07-23 15:57:51 +01:00
tonihei
5933d92394 Add simplified Dash and Ss media source factory constructors.
As the manifest and media data sources can be the same now, we can provide
a simplified constructor with just one data source factory.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205658046
2018-07-23 15:55:57 +01:00
Oliver Woodman
b0f44029b7 Clean up release notes 2018-07-23 14:49:33 +01:00
andrewlewis
f39d28135d Pass through all ID3 internal data from udta
Also switch from using a CommentFrame to a new InternalFrame type for ID3 data
stored with ID '----', to distinguish internal data from actual ID3 comments.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201315254
2018-07-23 14:36:37 +01:00
olly
224d0c2b2c Add isControllerVisible
Issue: #4385

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=200986828
2018-07-23 14:35:14 +01:00
Oliver Woodman
dcd549bd3e Fix release branch 2018-07-23 14:06:29 +01:00
Oliver Woodman
50c8197004 Widen setOutputSurface workaround 2018-07-23 14:03:59 +01:00
tonihei
7d4ac516e7 Update period index in DashMediaPeriod event dispatcher after manifest update.
Issue:#4492

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205636634
2018-07-23 13:58:47 +01:00
tonihei
e03623f701 Fix issue with keeping window sequence number after repeated seeks.
The number is shelved in calls to queue.clear() to keep it for the next
media period. However, the queue may also become empty by repeated calls to
advancePlayingPeriod which may happen when seeking to an unprepared period.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205376036
2018-07-23 13:58:04 +01:00
andrewlewis
9bb64b7e44 Add support for setting companion ad slots
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=205373398
2018-07-23 13:57:21 +01:00
olly
0b8724cb66 Fix bug where sourceId wasn't set for the first chunk
The sample queues haven't been created when the first init call
occurs. In this case we need to set sourceId when we subsequently
create the queues.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=204467538
2018-07-23 13:56:04 +01:00
hoangtc
d24e7cdffe Fix a bug with TTML using font size as % of cellResolution.
After [] we support default font size for TTML, relative to the cellResolution of the document. However, this introduced a bug that makes TTML font-size in such case always follow the cellResolution font size, even when SubtitleView.setApplyEmbeddedStyles(false) and SubtitleView.setApplyEmbeddedFontSizes(false) were used.

This CL updates the fix so that the default font-size using cellResolution works in the same way as other embedded styles, and can be turned off using setters from SubtitleView.

GitHub: #4491

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=204467033
2018-07-23 13:55:41 +01:00
andrewlewis
0a46e74105 Ignore all edit lists if one track's edits can't be applied
Issue: #4348

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=204261718
2018-07-23 13:54:12 +01:00
eguven
2f6273c9fc Fix DownloadService doesn't stop when the app is killed
Also fixed showing "remove notification" when download is completed.

Issue:#4469
Issue:#4488

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203927268
2018-07-23 13:53:52 +01:00
olly
44c45fd18d Move subsampleOffset in Format
It's no longer text specific (it's used for metadata as well, and
in theory could apply to any stream in which samples contain multiple
sub-samples)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203767825
2018-07-23 13:53:38 +01:00
tonihei
7e9e29d8a8 Fix wrong loop variable in DashMediaPeriod.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203766579
2018-07-23 13:53:32 +01:00
tonihei
522adc3772 Restructure track selection in DashMediaPeriod.
Until now, the streams were released and re-enabled for each type of stream
(primary, event, embedded) in that order. That leads to problems when replacing
streams from one type to another (for example embedded to primary).

This change restructures the track selection to:
1. Release and reset all streams that need to be released or replaced.
 1(a). Including embedded orphan streams.
2. Select new streams.

Issue:#4477

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203751233
2018-07-23 13:53:26 +01:00
olly
d49c5a476d Tweak DefaultTrackSelector documentation
Viewport constraints apply to adaptive content even if the
actual playback isn't adaptive (i.e. because the selector
ends up making a fixed track selection).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203726831
2018-07-23 13:53:10 +01:00
Drew Hill
7207665ce0 flip flag values to their proper names so that trackselector parameters can be useful 2018-07-23 13:52:55 +01:00
tonihei
f2f149adca Add workaround for unmatched track indices in tkhd and tfhd.
If there is only one track, we can assume that both boxes refer to the same track
even if the track indices don't match.

Issue:#4083

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203485872
2018-07-23 13:52:49 +01:00
olly
6ad98405a3 Avoid providing invalid responses to MediaDrm
MediaDrm.provideXResponse methods only accept the response
corresponding to the most recent MediaDrm.getXRequest call.
Previously, our code allowed the following incorrect call
sequence:

a = getKeyRequest
b = getKeyRequest
provideKeyResponse(responseFor(a));

This would occur in the edge case of a second key request
being triggered whilst the first was still in flight. The
provideKeyResponse call would then fail.

This change fixes the problem by treating responseFor(a)
as stale. Note that a slightly better fix would be to
defer calling getKeyRequest the second time until after
processing the response corresponding to the first one,
however this is significantly harder to implement, and is
probably not worth it for what should be an edge case.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203481685
2018-07-23 13:52:41 +01:00
tonihei
a50d31a70b Add workaround for unmatched track indices in trex and tkhd.
Both boxes should contain the same list of track indices. However, if only one
track index in each list does not match, we can just assume that these belong
together.

Issue:#4477

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203481258
2018-07-23 13:52:33 +01:00
olly
1f188c7c00 Exclude text streams from duration calculations
Issue: #4029

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202912333
2018-07-23 13:50:56 +01:00
olly
165fef8782 Fix application of styles for CEA-608
Issue: #4321

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202660712
2018-07-23 13:50:23 +01:00
olly
3c4384ddd9 Simplify DefaultTrackSelector documentation
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202623116
2018-07-23 13:48:50 +01:00
olly
6cdaf593e0 Improve DefaultTrackSelector documentation
It's quite hard to find the defaults currently. Placing them
on each variable makes them easier to find.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202495929
2018-07-23 13:48:43 +01:00
tonihei
186711287b Add some leeway for finding additional tracks in PsExtractor.
Currently we immediately stop searching after we found one video and one
audio track. This change adds some leeway to detect additional tracks.

Issue:#4406

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202455491
2018-07-23 13:48:18 +01:00
tonihei
a0810856e7 Add DRM workaround for Asus Zenfone 2.
Issue: #4413

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202277924
2018-07-23 13:47:53 +01:00
aquilescanta
be995f0b27 Rename HlsPlaylistTracker's release to stop
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202103550
2018-07-23 13:46:10 +01:00
andrewlewis
fd8751dbc6 Make ImaAdsLoader robust to calls after it's released
Issue: #3879

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=202100576
2018-07-23 13:45:47 +01:00
Keith Thompson
4a8bd911cf Add withSkippedAd method to AdPlaybackState. Currently it is only possible to skip entire ad groups but not individual ads within a given ad group. 2018-07-23 13:45:08 +01:00
Arek Karbowy
cbfa602866 opt out of using DummySurface on specific Fire TV device 2018-07-23 13:44:53 +01:00
olly
9c76ba0603 Wait for DRM keys before codec configuration on FireOS devices
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201695876
2018-07-23 13:44:36 +01:00