753 Commits

Author SHA1 Message Date
aquilescanta
2f8c8b609f Fix detection of current window index in CastPlayer
Issue:#5955
PiperOrigin-RevId: 251616118
2019-06-06 17:41:27 +01:00
aquilescanta
83a6d51fd1 Use listener notification batching in CastPlayer
PiperOrigin-RevId: 251399230
2019-06-06 17:41:21 +01:00
olly
7cdcd89873 Update cast extension build
PiperOrigin-RevId: 250664791
2019-05-31 22:45:41 +01:00
andrewlewis
41ab7ef7c0 Fix video size reporting in surface YUV mode
In surface YUV output mode the width/height fields of the VpxOutputBuffer were
never populated. Fix this by adding a new method to set the width/height and
calling it from JNI like we do for GL YUV mode.

PiperOrigin-RevId: 250449734
2019-05-31 22:38:55 +01:00
andrewlewis
5d72942a49 Fix VP9 build setup
Update configuration script to use an external build, so we can remove use of
isysroot which is broken in the latest NDK r19c. Also switch from gnustl_static
to c++_static so that ndk-build with NDK r19c succeeds.

Issue: #5922
PiperOrigin-RevId: 250287551
2019-05-31 22:37:25 +01:00
eguven
b1ff911e6a Remove mistakenly left link in vp9 readme
PiperOrigin-RevId: 249417898
2019-05-31 22:33:21 +01:00
andrewlewis
7e587ae98f Add missing annotations dependency
Issue: #5926
PiperOrigin-RevId: 249404152
2019-05-31 22:33:06 +01:00
bachinger
e961def004 Add playWhenReady to prepareXyz methods of PlaybackPreparer.
Issue: #5891
PiperOrigin-RevId: 248541827
2019-05-31 22:27:30 +01:00
bachinger
0a5a8f547f don't call stop before preparing the player
Issue: #5891
PiperOrigin-RevId: 248369509
2019-05-31 22:26:15 +01:00
tonihei
9e4b89d1cb Ignore empty timelines in ImaAdsLoader.
We previously only checked whether the reason for the timeline change is
RESET which indicates an empty timeline. Change this to an explicit check
for empty timelines to also ignore empty media or intermittent timeline
changes to an empty timeline which are not marked as RESET.

Issue:#5831
PiperOrigin-RevId: 248499118
2019-05-17 11:34:16 +01:00
bachinger
6e581f5270 Revert "don't call stop before preparing the player"
This reverts commit 8efaf5fd7d5bdf1f55f35109a43380e8f7f6be0b.
2019-05-16 11:48:53 +01:00
bachinger
8efaf5fd7d don't call stop before preparing the player
Issue: #5891
PiperOrigin-RevId: 248369509
2019-05-15 20:15:08 +01:00
olly
7f89fa9a8c Add simpler HttpDataSource constructors
PiperOrigin-RevId: 248350557
2019-05-15 20:03:52 +01:00
olly
9f9cf316bd Remove unnecessary logging
As justification for why we should not have this type of logging,
it would scale up to about 13K LOC, 1800 Strings, and 36K (after
pro-guarding - in the case of the demo app) if we did it through
the whole code base*. It makes the code messier to read, and in
most cases doesn't add significant value.

Note: I left the Scheduler logging because it logs interactions
with some awkward library components outside of ExoPlayer, so is
perhaps a bit more justified.

* This is a bit unfair since realistically we wouldn't ever add
  lots of logging into trivial classes. But I think it is fair
  to say that the deltas would be non-negligible.

PiperOrigin-RevId: 246181421
2019-05-02 13:13:59 +01:00
bachinger
618d97db1c Never set null as a session meta data object.
Issue: #5810
PiperOrigin-RevId: 245745646
2019-04-30 22:13:27 +01:00
andrewlewis
f62fa434dd Log warnings when extension libraries can't be used
Issue: #5788
PiperOrigin-RevId: 245440858
2019-04-26 18:43:58 +01:00
Oliver Woodman
7f885351db Upgrade dependency versions 2019-04-19 00:00:53 +01:00
olly
b8cdd7e40b Fix lint warnings for 2.10
PiperOrigin-RevId: 244268855
2019-04-18 23:43:07 +01:00
eguven
6d8bd34590 Add missing DownloadService build*Intent and startWith* methods
PiperOrigin-RevId: 244196081
2019-04-18 23:42:20 +01:00
olly
898bfbff6c [libvpx] permalaunch number of buffers.
PiperOrigin-RevId: 244094942
2019-04-18 23:40:29 +01:00
andrewlewis
c1246937df Upgrade IMA to 3.11.2
PiperOrigin-RevId: 243988105
2019-04-18 23:38:00 +01:00
borrelli
0be4bee25f Add "setCustomErrorMessage" override that allows including an extras bundle with a custom error.
PiperOrigin-RevId: 243807109
2019-04-16 16:41:49 +01:00
borrelli
9fc3ea79a1 Add ability to register/unregister custom CommandReceivers.
PiperOrigin-RevId: 243799572
2019-04-16 15:28:57 +01:00
tonihei
1ee51518ae Use new exoplayer.dev domain everywhere.
The old domain automatically forwards to the new one. For consistency, change
all doc and code references regardless.

Also adds GitHub CNAME config file which configures our page for the custom
domain.

PiperOrigin-RevId: 243592110
2019-04-16 15:25:27 +01:00
olly
3f565c33be Simplify offline Requirements
- Remove NETWORK_TYPE_NOT_ROAMING and NETWORK_TYPE_METERED
  because JobScheduler doesn't support them, and they're
  probably not useful to many people (data when roaming is
  normally enabled/disabled at the OS level, and restricting
  to *only* metered networks seems niche)
- Convert network requirements proper flags
- Stop persisting requirements in DownloadIndex. The direction
  we're headed to solve the manager start/stop problem is
  going to involve state in DownloadManager determining whether
  downloads actually start, and if we're doing that then it's
  no worse to do it for this as well

PiperOrigin-RevId: 242713196
2019-04-13 01:37:44 +01:00
vigneshv
3169b140fc vp9_extension: Use the vp9_codec_control macro
This is part of the public API and the underscored versions
weren't intended to be used outside the library.

Also updating the external instructions to checkout the version
of libvpx that supports this macro for this particular constant.

#codehealth

PiperOrigin-RevId: 242170926
2019-04-05 21:14:47 +01:00
andrewlewis
d6244773ec Add back missing libvpx build instructions
PiperOrigin-RevId: 242094027
2019-04-05 21:13:50 +01:00
olly
e8b0d489eb Rename Lib Opus in ExoV2 to avoid the namespace collision between ExoV1 and ExoV2's version of libopusJNI.so
PiperOrigin-RevId: 241359424
2019-04-01 20:33:00 +01:00
aquilescanta
129a64c477 Use getItemIds to get the actual size of the Cast media queue
Issue:#4964
PiperOrigin-RevId: 241311763
2019-04-01 20:32:01 +01:00
eguven
9220b18bdc Fix parameter order in JobDispatcherScheduler.schedule()
Issue: #5613
PiperOrigin-RevId: 240344666
2019-03-26 15:34:41 +00:00
Toni
5da4c67c8a Merge pull request #5303 from DolbyLaboratories:dev-v2-ac4
PiperOrigin-RevId: 239957730
2019-03-26 10:40:18 +00:00
Oliver Woodman
a86a9137be Merge pull request #5578 from szaboa:dev-v2-5529
PiperOrigin-RevId: 239398940
2019-03-20 23:28:28 +00:00
andrewlewis
35d82e1808 Upgrade IMA to 3.10.9
PiperOrigin-RevId: 239157535
2019-03-20 23:26:49 +00:00
olly
8ffd7da890 [libvpx] Add flag to experiment with the impact of input/output buffers
PiperOrigin-RevId: 239122083
2019-03-20 23:26:49 +00:00
tonihei
8e80acd18f Use androidx.test and extensions.
This replaces the deprecated usages of RobolectricTestRunner and
RuntimeEnvironent and fully migrates the tests to androidx.

PiperOrigin-RevId: 238011667
2019-03-15 04:53:12 +00:00
andrewlewis
7acc0ee798 Fix ProgressiveMediaSource DefaultExtractorsFactory proguarding
PiperOrigin-RevId: 237900673
2019-03-15 04:52:19 +00:00
tonihei
64af87cba0 Depend on androidx leanback 1.0 for the leanback extension.
PiperOrigin-RevId: 237772784
2019-03-15 04:51:44 +00:00
tonihei
c0e1f425e8 Fix gradle leanback build by switching to androidx leanback.
PiperOrigin-RevId: 237467628
2019-03-15 04:51:26 +00:00
andrewlewis
034209c5a2 Remove vp9 RGB output mode-related code
PiperOrigin-RevId: 236805460
2019-03-06 17:29:18 +00:00
olly
0645a1838a [libvpx] Allow enabling row multi thread mode decoding in LibVPX
PiperOrigin-RevId: 235576645
2019-03-06 17:29:18 +00:00
olly
8449e7f450 Add stubs for onCreate() and onPostCreate()
PiperOrigin-RevId: 235541545
2019-03-06 17:28:07 +00:00
bachinger
e8077fb3f4 honour shuffle order when publishing queue to media session
Issue #5360

PiperOrigin-RevId: 235196177
2019-03-06 16:54:26 +00:00
olly
1450b3713f Suppress warnings emitted by Checker Framework version 2.6.0
PiperOrigin-RevId: 234917536
2019-02-21 11:56:02 +00:00
bachinger
44e23fabe6 let apps intercept/handle media button events by using a MediaButtonEventHandler
Issue #5179

PiperOrigin-RevId: 234571837
2019-02-19 13:23:19 +00:00
olly
0622afe170 Migrate to androidx
Issue: #5489
PiperOrigin-RevId: 234507428

Add missing annotation dependency

Issue: #5489
PiperOrigin-RevId: 234566177
2019-02-19 13:22:54 +00:00
bachinger
f9f55ae4d5 improve documentation on how to update queue when asynchronously loading media item assets
Issue #5494

PiperOrigin-RevId: 234138162
2019-02-18 17:40:48 +00:00
olly
d61171a100 [libvpx] Reducing the number of buffers for LibVPX in order to avoid OOM crashes.
PiperOrigin-RevId: 234042474
2019-02-18 17:40:48 +00:00
andrewlewis
31911ca54a Drain audio processors on reconfiguration
Previously we would get a new AudioTrack and flush all audio processors if any
AudioProcessor needed to be flushed on reconfiguration. This was problematic for
the case of TrimmingAudioProcessor because it could become active or inactive
due to transitioning to a period with gapless metadata or without it (we don't
keep it active all the time because it is wasteful to populate its end buffer
for content that is not gapless).

This change handles the case where we don't need an AudioTrack but
AudioProcessors do need to be flushed. In this case we drain all the audio
processors when next handling data then switch to the new configuration.

This avoids truncation when period transitions change whether
TrimmingAudioProcessor is active but don't require a new AudioTrack, and is also
a step towards draining the AudioTrack when transitioning between periods if we
do need a new AudioTrack.

To do this, it needs to be possible to drain any pending output data from an
AudioProcessor after it's configured to a new format, so this change makes sure
AudioProcessors allow calling playToEndOfStream and getOutput after
reconfiguration and before flush.

PiperOrigin-RevId: 234033552
2019-02-18 17:40:48 +00:00
andrewlewis
03006f0595 Fix some AudioProcessor nits
- Fix nullness warnings
- Fix annotations
- Make TeeAudioProcessor flush its sink for every format change

PiperOrigin-RevId: 234017068
2019-02-18 17:40:48 +00:00
olly
d6b6063798 Allow specifying number of decoding threads to libvpx library.
PiperOrigin-RevId: 233653857
2019-02-18 17:40:44 +00:00