9921 Commits

Author SHA1 Message Date
tonihei
5698eadc08 Discard buffer synchronously after seek before cancelling a load.
This ensures the buffer is not full when the `DefaultLoadControl` determines
whether we should continue loading and thus prevents a false warning about
not having enough memory left.

PiperOrigin-RevId: 342616623
2020-11-23 09:58:48 +00:00
insun
82969c823c Increase touch target height of timebar in StyledPlayerControlView
This change also introduces gravity attribute to DefaultTimeBar.

PiperOrigin-RevId: 342573167
2020-11-23 09:58:43 +00:00
olly
bf131ec0d2 Fix 2.12.1 release note
PiperOrigin-RevId: 342512836
2020-11-23 09:55:16 +00:00
christosts
d5f5d311d2 Pass drm_key_request_properties in offline DRM downloads
Pass the drm_key_request_properties specified in the json list
when donwloading thee offline Widevide license in the demo app.

PiperOrigin-RevId: 342243441
2020-11-23 09:55:16 +00:00
olly
0520c7d337 Remove C.StreamType constant that's not a real stream type
#minor-release

PiperOrigin-RevId: 341833274
2020-11-19 16:55:42 +00:00
olly
12e428ec87 Fix incorrect IntDef usage
#minor-release

PiperOrigin-RevId: 341668326
2020-11-19 16:55:34 +00:00
kimvde
8e638ec753 Work around AudioManager#getStreamVolume crashes
Issue:#8191
PiperOrigin-RevId: 341632732
2020-11-19 16:55:21 +00:00
bachinger
11b09dd58d Add dispatchPrepare(player) to ControlDispatcher
Issue: #7882
PiperOrigin-RevId: 341394254
2020-11-19 16:54:23 +00:00
ibaker
81d68317ac Fix or suppress nullness warnings introduced by checkerframework 3.7.0
PiperOrigin-RevId: 340826532
2020-11-19 16:52:32 +00:00
andrewlewis
3f9488b7cd Fix ImaPlaybackTest
This test is not run in presubmit as it was too flaky, and is currently broken
due to assets moving.

Also migrate off ImaPlaybackTest off deprecated APIs.

#minor-release

PiperOrigin-RevId: 340405666
2020-11-19 16:52:22 +00:00
olly
c9683195c0 Matroska: Support additional PCM codec modes
- Support 32-bit A_PCM/FLOAT/IEEE PCM
- Support 8-bit and 16-bit A_PCM/INT/BIG PCM

Issue: #8142
PiperOrigin-RevId: 340264679
2020-11-19 16:44:18 +00:00
Oliver Woodman
ac1ffa4fc2 Merge pull request #8133 from xufuji456:dev-v2
PiperOrigin-RevId: 340254878
2020-11-19 16:40:03 +00:00
ibaker
07455da2f5 Migrate Tx3gDecoderTest to Guava and SpannedSubject
#minor-release

PiperOrigin-RevId: 340249019
2020-11-19 16:39:53 +00:00
andrewlewis
2d022a21b3 Fix buildForAdsResponse
PiperOrigin-RevId: 340198099
2020-11-18 19:16:33 +00:00
olly
379cd8a04f Make defaultLicenseUrl optional
Some content types always provide the license URL in the media.
The PlayReady example in the demo app doesn't provide a default
license URL for this reason, as an example.

#minor-release

PiperOrigin-RevId: 340125784
2020-11-18 19:10:50 +00:00
andrewlewis
e35f7d828d Add sample for testing skippable ads in midrolls
#minor-release

PiperOrigin-RevId: 339447845
2020-11-18 19:10:43 +00:00
andrewlewis
0c9e92136a Fix skipping behavior in ad pods
ImaAdsLoader notified onEnded whenever an ad finished playing, but when an ad
is skipped in an ad pod we'd receive a playAd call before the player
discontinuity for skipping to the next ad. Fix this behavior by checking that
IMA's playing ad matches the player's playing ad before notifying onEnded.

#minor-release

PiperOrigin-RevId: 339424910
2020-11-18 19:10:35 +00:00
andrewlewis
f1126ce514 Improve progress update logs
Add logging for ad progress and switch from deprecated getters to new
millisecond getters.

PiperOrigin-RevId: 339226534
2020-11-18 19:10:09 +00:00
andrewlewis
8759874924 Improve handling of VPAID ads
Issue: #7832
PiperOrigin-RevId: 339087555
2020-11-18 19:09:57 +00:00
ibaker
44c2ddb076 Suppress ProGuard warnings related to Guava's compile-only deps
Without these lines, ProGuard fails on the demo app (R8 works).

Also include some more `-dontwarn` lines from
https://github.com/google/guava/wiki/UsingProGuardWithGuava

Issue: #8103
PiperOrigin-RevId: 339050634
2020-11-18 19:09:41 +00:00
andrewlewis
7cc129d7b7 Upgrade IMA SDK dependency to 3.21.0
Call the new method AdsLoader.release() to allow the IMA SDK to dispose of its
WebView.

Issue: #7344
PiperOrigin-RevId: 339022162
2020-11-18 19:08:38 +00:00
aquilescanta
9ad70246e6 Treat -1000 duration as unknown duration for live streams in Cast
Issue: #7983
#minor-release
PiperOrigin-RevId: 339016928
2020-11-18 19:07:13 +00:00
andrewlewis
1264dbcd36 Handle stream volume register/unregister errors
Issue: #8106
Issue: #8087
PiperOrigin-RevId: 338664455
2020-11-18 19:07:04 +00:00
aquilescanta
da663aa081 Avoid chunkless preparation if the codec mapping is ambiguous
Issue: #7877
PiperOrigin-RevId: 338659937
2020-11-18 18:54:37 +00:00
aquilescanta
806681dd16 Map HLS sample formats to the correct codec string
This change fixes format creation for traditional preparation of streams
where the master playlist contains more than one codec string per track
type.

Issue: #7877
PiperOrigin-RevId: 338538693
2020-11-18 18:50:35 +00:00
aquilescanta
3d8c9b0bf8 Allow multiple codecs with same type in DefaultHlsExtractorFactory
When disabling a TsExtractor track type because of a missing codec
in the master playlist, look through the entire codecs string
instead of checking the first codec with matching type.

Issue: #7877
PiperOrigin-RevId: 338530046
2020-11-18 18:48:46 +00:00
Oliver Woodman
59b34ede61 Fix release notes 2020-10-23 13:47:53 +01:00
Oliver Woodman
6134f96127 Add missing release note 2020-10-23 13:44:51 +01:00
Oliver Woodman
be13805ce4
Merge pull request #8102 from google/dev-v2-r2.12.1
r2.12.1
2020-10-22 20:14:02 +01:00
olly
269ea4ea2b Add missing release note
PiperOrigin-RevId: 338446775
2020-10-22 12:39:25 +01:00
olly
d7e8238b88 Bump version to 2.12.1
PiperOrigin-RevId: 338261975
2020-10-21 22:36:32 +01:00
insun
de2b58e7e1 Fix bottom area to have even paddings and make seekbar slimmer.
Also removed unused thumb resources.

PiperOrigin-RevId: 338184661
2020-10-21 10:27:24 +01:00
kimvde
efaa2961ee Read until the track formats are available in TestUtil.extractSeekMap()
Otherwise, some extractor tests are seeking without making sure that the
extractor has retrieved the formats.

This is needed for PR Issue: #7378.

PiperOrigin-RevId: 335934326
2020-10-20 22:26:18 +01:00
Oliver Woodman
452f68fb6c Merge pull request #7867 from GeneticGenesis:pc/update-expected-http-statuses-for-failover
PiperOrigin-RevId: 338051017
2020-10-20 22:16:12 +01:00
Oliver Woodman
d2fb9dda82 Merge pull request #8088 from xufuji456:dev-v2
PiperOrigin-RevId: 338024866
2020-10-20 22:16:12 +01:00
krocard
e72082710c AudioSink: Remove comment about unconfirmed crash
Consensus is that the NoClassDefFoundError does not
causes a crash but only a warning.

PiperOrigin-RevId: 338022354
2020-10-20 22:16:12 +01:00
Oliver Woodman
7303005873 Merge pull request #8030 from yqritc:add-output-surface-workaround
PiperOrigin-RevId: 338016707
2020-10-20 22:16:12 +01:00
andrewlewis
c3643ec682 Allow enabling IMA ext debug mode programmatically
PiperOrigin-RevId: 337824945
2020-10-20 22:16:12 +01:00
aquilescanta
e446f02eb9 Remove references to the default Cast receiver
The ExoPlayer receiver app id is a thin wrapper around the default receiver, so
there are no reasons for users not to depend on it. By having ExoPlayer users
refer to the ExoPlayer app id we can collect usage metrics.

PiperOrigin-RevId: 337516767
2020-10-20 22:16:12 +01:00
andrewlewis
fac3515016 Move DataSource reading methods into Util
This will be used to read ads responses out of data: URLs in a subsequent
change.

PiperOrigin-RevId: 334778780
2020-10-20 22:16:12 +01:00
kim-vde
fe7daa9de9 Merge pull request #7950 from friederbluemle:update-gradle-plugin
PiperOrigin-RevId: 333036751
2020-10-20 22:16:12 +01:00
andrewlewis
e0c9165270 Upgrade IMA SDK dependency to 3.20.1
This brings in a fix for companion ads rendering when targeting API 29.

Issue: #6432
PiperOrigin-RevId: 337279054
2020-10-20 22:16:12 +01:00
krocard
0de938c4aa Do not inherit directly from AudioTrack.StreamEventCallback
This was causing issues old devices where the class
inheriting StreamEventCallback was loaded even though
it was not used.

Instead use an anonymous class that seem to be loaded
more lazily.

PiperOrigin-RevId: 337252687
2020-10-20 22:16:12 +01:00
krocard
ec96e0c495 Add MiTV devices requiring the output surface workaround
Issue: #8014
PiperOrigin-RevId: 337142176
2020-10-20 22:16:12 +01:00
bachinger
2b6a9a346a Use Math.round(double) to avoid result being limited to Integer.MAX_INT
Issue: #8067
PiperOrigin-RevId: 337122011
2020-10-20 22:16:12 +01:00
ibaker
a635bdd4ba Switch to an 'api' dependency on Guava
The 'implementation' dependency causes problems when resolving
ListenableFuture in contexts that also include the
com.google.guava:listenablefuture:1.0 dependency.

Issue: #7905
Issue: #7997
Issue: #7993
PiperOrigin-RevId: 337093024
2020-10-20 22:16:12 +01:00
Oliver Woodman
6611ac48c5 Add a way to override ad media MIME types
Issue: #7961
PiperOrigin-RevId: 337069152
2020-10-20 22:16:12 +01:00
andrewlewis
5cc6dac77c Encapsulate ImaAdsLoader configuration in a class
This will reduce the amount of boilerplate required to pass the configuration
values around (especially in a planned future change when logic is factored out
of ImaAdsLoader).

PiperOrigin-RevId: 337058355
2020-10-20 22:16:12 +01:00
andrewlewis
53c4a393f3 Pass ad tags via AdsMediaSource
This is in preparation for supporting playlists of ads media sources using
ImaAdsLoader.

Existing ways of passing ad tags should still function but are deprecated (and
won't be supported with playlists).

Issue: #3750
PiperOrigin-RevId: 335618364
2020-10-20 22:16:12 +01:00
kimvde
947b637441 Small fix in IndexSeekMap
This change was meant to be in 2e5f2f12ad but
was not added my mistake.

PiperOrigin-RevId: 337041686
2020-10-20 22:16:12 +01:00