4892 Commits

Author SHA1 Message Date
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
aquilescanta
a37bd0d66f Parse ms:laurl from ContentProtection in DASH
Issue:#3393

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201694813
2018-07-23 13:44:22 +01:00
olly
0a80b47edb Extract scheme specific data from PSSH for some FireOS devices
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201679215
2018-07-23 13:43:50 +01:00
olly
9b4981df8a Add some FireOS workarounds for max input buffer size limitations
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201678686
2018-07-23 13:43:28 +01:00
olly
5992b310ad Enable EOS workaround for FireTV Gen 2
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201678261
2018-07-23 13:43:22 +01:00
aquilescanta
5f79aa253b Add license server URL to SchemeData
Allows DrmInitData to carry a license server URL when the media declares one.

Issue:#3393

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199643743
2018-07-23 13:43:03 +01:00
ojw28
f7ed789fc3
Merge pull request #4434 from google/dev-v2-r2.8.2
r2.8.2
2018-06-26 15:54:16 +01:00
Oliver Woodman
d880fac582 Fix release build 2018-06-25 23:15:02 +01:00
aquilescanta
3ede1aaa8e Fix re-starting of DefaultHlsPlalyistTracker
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201530049
2018-06-25 22:56:53 +01:00
tonihei
35ac394de3 Add missing onLoadStarted events to HLS playlist tracker.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=200211755
2018-06-25 22:56:46 +01:00
aquilescanta
f1fe1c40a6 Extract HlsPlaylistTracker interface
This allows injection of custom implementations and configuration of
DefaultHlsPlaylistTracker without modifying the HlsMediaSource interface.

Issue:#2844

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198846607
2018-06-25 22:54:29 +01:00
aquilescanta
798b29e3ef Normalize timestamps in HlsChunkSource
Issue:#4394

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201178909
2018-06-25 22:48:27 +01:00
andrewlewis
680d3fda3e Fix download cancellation
Issue: #4403

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201525284
2018-06-25 22:46:53 +01:00
andrewlewis
b7d149604e Fully clean up resources in EGLSurfaceTexture
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201376315
2018-06-25 22:45:39 +01:00
olly
c14d590412 Fix release notes
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201374393
2018-06-20 18:37:37 +01:00
eguven
d82f91845e Fix HlsMediaPlaylist download using HlsDownloadHelper
Issue: #4396

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=201324467
2018-06-20 18:19:38 +01:00
andrewlewis
1776e6e5b0 Make no context current when releasing DummySurface
This avoids a small native leak.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=200955086
2018-06-18 11:33:37 +01:00
olly
3570232cf0 CEA608 - Add space when handling mid-row codes
Issue: #3906

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=200526335
2018-06-18 11:33:24 +01:00
olly
9ecf959613 Offset SIDX timestamps by presentationTimeOffset
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199856613
2018-06-18 11:30:39 +01:00
andrewlewis
799d281e58 Add support for registering custom MIME types
Also add a few missing MP4 object types.

Issue: #4264

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199778373
2018-06-18 11:29:23 +01:00
olly
7bf98b9fc2 Update forced dependencies to fix release
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199758072
2018-06-18 11:28:07 +01:00
olly
cae427ad7e Fix incorrect padding application
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199683216
2018-06-18 11:27:55 +01:00
andrewlewis
3f2d20140f Fix some javadoc errors
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199650794
2018-06-18 11:27:42 +01:00
andrewlewis
ef8a47ba7d Fix some categories of error prone warnings
When switching from Stack to ArrayDeque, calls to add() need to be replaced by
calls to push() because ArrayDeque treats the first element in the list as the
top of the stack.

String.split() has counterintuitive default behavior; see
https://github.com/google/error-prone/blob/master/docs/bugpattern/StringSplitter.md.
I've switched usages to pass limit = -1 argument, which means empty elements are
no longer removed from the end of the returned array.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199472592
2018-06-06 19:13:05 +01:00
andrewlewis
879f689488 Set METADATA_KEY_TITLE
Issue: #4292

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199478946
2018-06-06 19:12:56 +01:00
olly
1481801891 Bump version + update release notes
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199453125
2018-06-06 19:12:45 +01:00
aquilescanta
04565a3158 Fix leak in the demo app
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199448766
2018-06-06 19:12:05 +01:00
Oliver Woodman
a877bbaf7b Remove NullableType usage from release branch 2018-06-05 22:37:50 +01:00
Oliver Woodman
97e68ecc31 Fix release branch 2018-06-05 22:30:58 +01:00
Oliver Woodman
615b2b1039 Fix punctuation 2018-06-05 22:28:50 +01:00
takusemba
993eb8eda0 close initDataSource after reading 2018-06-05 22:28:38 +01:00
Anton Potekhin
4998354cb1 Blacklist Moto C from setOutputSurface
Issue: #4315
2018-06-05 22:28:30 +01:00
tonihei
3c6ca19c85 Fix track selection nullability issues.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199266768
2018-06-05 15:18:39 +01:00
olly
6a82f99ca1 Explicitly null MediaPeriod callbacks on release
If a MediaPeriod uses a Loadable, then there are typically
reference chains of the form:

LoadingThread[GCroot]->Loadable->MediaPeriod->Player

Where the player is the MediaPeriod callback. When the
player is released, this reference chain prevents the
player from being GC'd until Loadable cancellation
completes, which may not always be fast. This in turn
will typically prevent the application's activity from
being GC'd, since it'll normally be registered as a
listener on the player (directly or indirectly via
something like a view).

This change mitigates the issue by removing references
that the MediaPeriod holds back to the player. The
MediaPeriod will still not be eligible for GC, but the
player and application activity will be, which in most
cases will be most of the leak (in terms of size).

Issue: #4249

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199143646
2018-06-05 15:18:33 +01:00
eguven
5a6507b72d Fix starting the download service in the background throw exception
This happens when the device screen is locked.

This fixes a previous attempt to fix the problem.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199130325
2018-06-05 15:18:24 +01:00
andrewlewis
0d59dc4c43 Fix variable name
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199120421
2018-06-05 15:18:15 +01:00
tonihei
b68dcb0b5b Allow setting player lazily in AnalyticsCollector.
This helps to use the AnalyticsCollector without SimpleExoPlayer. Currently,
that may be problematic, if the contructor needs the player, but in order to
create the player, one already needs the AnalyticsCollector as a listener for
the renderers.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199105012
2018-06-05 15:17:46 +01:00
eguven
a535da8128 Fix starting the download service in the background throw exception
This happens when the device screen is locked.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198875192
2018-06-05 15:17:35 +01:00
olly
7621a71bc3 Remove Loadable.isLoadCanceled
This simplifies Loadable implementations, and also removes the
possibility of an incorrect Loadable implementation causing the
wrong Loader.Callback method being called (perviously, for the
correct method to be called, we relied on isLoadCanceled being
implemented correctly).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198871133
2018-06-05 15:17:26 +01:00
eguven
3670111310 Avoid starting RequirementsWatcher if there is no download task
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198860680
2018-06-05 15:17:17 +01:00
tonihei
928cbfa7bc Replace hash by Object reference for uids.
There is the small (but unlikely) chance that the uids clash because the
Objects have the same hash code.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198855724
2018-06-05 15:16:58 +01:00
olly
7d0769249f Avoid possibility of leaking an activity/service context
The bug here was that we'd create a VideoFrameReleaseTimeHelper
using whatever context DefaultRenderersFactory has, and it would
then hold a reference to that context via DisplayManager. A leak
could then occur if the player outlived the life of the context
used to create it (which would be strange/unusual, but not
impossible).

Issue: #4249

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198747599
2018-06-05 15:15:49 +01:00
olly
4ecce9802b Explicitly null out LoadTask.callback on release
As highlighted by the ref'd issue, we can end up with
memory leaks if Loadable.load implementations take a long
time to return upon cancelation. This change cuts off one
of the two problematic reference chains.

This doesn't do much about the ref'd issue, since there's
a second reference chain that's much harder to deal with:
Thread->LoadTask->loadable. But since it's easy just to
cut this one off, I figure it makes sense to do so.

Issue: #4249

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198735386
2018-06-05 15:15:41 +01:00
tonihei
cd65cc85e2 Clarify threading requirements for the player in the doc.
This makes the requirement that all calls are made on one thread more
explicit and also mentions this in the Getting Started guide.

Issue:#4278

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198694579
2018-06-05 15:15:32 +01:00
andrewlewis
2bbfc84242 Don't advertise support for video/mpeg ads
Issue: #4297

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198536888
2018-06-05 15:15:16 +01:00
andrewlewis
f7dcee2e78 Update IMA and Play Services
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198536438
2018-06-05 15:15:08 +01:00
sammon
cd7f1b9558 Explicitly support MediaChunk.chunkIndex = C.INDEX_UNSET. This is common in
Manifestless streams.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198445216
2018-06-05 15:15:00 +01:00