5582 Commits

Author SHA1 Message Date
Marc Baechinger
4747604c06
fix issue tempate for bugs 2019-02-21 16:02:04 +00:00
Andrew Lewis
8ec4aad001
Merge pull request #5553 from google/dev-v2-r2.9.6
r2.9.6
2019-02-21 15:03:06 +00:00
andrewlewis
6e8a5f78dd Automated g4 rollback of changelist 230206675.
*** Reason for rollback ***

Reverting as this may break playback on other Amlogic devices and/or playback of non-interlaced content.

*** Original change description ***

Add max video size workaround for Amlogic decoder.

The Amlogic awesome decoder reduces the video size of interlaced videos by half
if the internal configuration isn't force reset with new maximum input size
values. The product of these new values must exceed 1920x1088 to force the
reset.

Issue:#5003

***

PiperOrigin-RevId: 234967314
2019-02-21 11:59:46 +00:00
andrewlewis
ea49e61b5e Register the overlay view as non-obstructing
Currently IMA determines that the overlay is obstructing, even
if it's empty. Register it as friendly, which means we're
assuming that anything the apps puts in it is necessary for
playback.

PiperOrigin-RevId: 234963065
2019-02-21 11:59:38 +00:00
bachinger
af9a0a913f add GitHub issue templates according
PiperOrigin-RevId: 234641428
2019-02-20 15:48:45 +00:00
aquilescanta
70d7b26f4f Remove lates HLS changes from 2.9.6 release notes
PiperOrigin-RevId: 234765847
2019-02-20 15:48:29 +00:00
aquilescanta
3c0ce056d9 Fix HlsSampleStream#read non-fatal lack of mapping
HlsSampleStream#read should return end of stream when
there is no mapping for the sample stream, instead of
nothing read. This allows the player to transition to
ended.

Issue:#5524
PiperOrigin-RevId: 234764027
2019-02-20 15:47:58 +00:00
olly
90c4cd2e71 Fix EventMessage timestamp issue
Stop encoding/decoding presentation time as part of the message.
What's actually in emsg boxes is a presentation time delta,
which is why it's only 32 bits, and hence why it doesn't handle
large absolute timestamps. We were using this field to hold
absolute timestamps only for the purpose of passing presentation
times from DashManifestParser.parseEvent back to the calling
method. After this change, we return Pair<Long, EventMessage>
instead.

Issue: #5490
PiperOrigin-RevId: 233561731
2019-02-19 18:06:03 +00:00
andrewlewis
b1fcfa9677 Bump version for 2.9.6 release
PiperOrigin-RevId: 234578712
2019-02-19 18:06:00 +00:00
andrewlewis
ac68f9042e Skip ad group on unknown load error
PiperOrigin-RevId: 233576600
2019-02-19 09:19:16 +00:00
olly
dbfaf17bba Add missing permission to IMA demo app
PiperOrigin-RevId: 233418784
2019-02-19 09:19:03 +00:00
andrewlewis
5402f20216 Allow registration of control overlays for ad viewability
Switch from passing an ad UI ViewGroup to passing an object that can also
provide information about controls overlays.

Also switch to using a dedicated overlay for ads instead of the overlay frame
layout, which apps have easy access to.

PiperOrigin-RevId: 233393500
2019-02-19 09:18:56 +00:00
andrewlewis
e7687764a1 Add an overlay FrameLayout for ad UI
This will be used instead of the current overlay FrameLayout (which apps can
interact with directly).

PiperOrigin-RevId: 233077175
2019-02-19 09:15:41 +00:00
andrewlewis
c16af73717 Remove deprecated ImaAdsMediaSource and constructors
Given the change to require setPlayer on AdsLoaders, it seems like a good
opportunity to clean up deprecated ads-related symbols.

PiperOrigin-RevId: 233020171
2019-02-19 09:10:21 +00:00
andrewlewis
2e9ef8abeb Update test names for attach -> start renaming
PiperOrigin-RevId: 232676346
2019-02-19 09:09:13 +00:00
andrewlewis
73813b9b11 Switch to non-deprecated way of setting AdDisplayContainer
PiperOrigin-RevId: 232507469
2019-02-19 09:08:57 +00:00
andrewlewis
0c159984ee Set player on ads loader in IMA demo
Issue: #5476
PiperOrigin-RevId: 232503736
2019-02-19 09:08:45 +00:00
tonihei
85b8e1f706 Add back deprecated MediaSource.prepareSource for ExoPlayerSampleExtractor.
This should be removed after releasing.

PiperOrigin-RevId: 231380393
2019-02-19 09:07:20 +00:00
tonihei
a973b6f34f Remove player and isTopLevelSource parameters from MediaSource.prepare.
They are not longer needed anywhere, are error-prone (because of threading
requirements), and complicate testing and using MediaSources without a player.

PiperOrigin-RevId: 227871157
2019-02-19 09:05:14 +00:00
tonihei
5fc975b728 Replace isTopLevelSource check by period count check in AdsMediaSource.
The top level requirement only tried to ensure that the entire timeline only
has one period. This is already asserted by ImaAdsLoader. AdsMediaSource
itself works fine as long as the wrapped timeline has one period only. This
is now asserted instead.

PiperOrigin-RevId: 227682141
2019-02-19 08:59:35 +00:00
tonihei
caca14c5f9 Set Player separately in AdsLoader interface.
Passing the player through MediaSource.prepare is only needed for the AdsLoader
and complicates other usages of MediaSource. Providing the player directly to
the AdsLoader is also in line with the usage pattern of PlayerView and other
components.

Also rename methods to start/stop to better reflect their usage.

PiperOrigin-RevId: 227682112
2019-02-19 08:56:30 +00:00
Oliver Woodman
de39925ce9
Merge pull request #5455 from google/dev-v2-r2.9.5
r2.9.5
2019-02-10 19:21:53 +00:00
Oliver Woodman
4d843da6b0 Remove failing test on 2.9.5 2019-02-10 19:06:35 +00:00
Oliver Woodman
c38cd1cca9 Update release notes 2019-02-04 20:02:43 +00:00
Oliver Woodman
9ea62f70cd Update release notes 2019-02-04 19:59:52 +00:00
tonihei
6330d46d9e Improve housekeeping of ConcatenatingMediaSource callbacks.
When calling releaseSource(), all pending messages will be removed. That means
that all action-on-completion callbacks which are somewhere in flight are
just dropped without being called. This change adds code to keep track of the
current state of each callback to allow all of them being called when the
source is released.

Issue:#5464
PiperOrigin-RevId: 232312528
2019-02-04 19:58:34 +00:00
tonihei
9dc5c87079 Remove messages on release of ConcatenatingMediaSource.
That was previously handled by the player. But since we switched to Handler
messages instead of player messages, we should do that manually.

PiperOrigin-RevId: 229341747
2019-02-04 19:58:13 +00:00
tonihei
22599a6d6c Pass Handler together with Runnable callbacks for playlist commands.
We currently either use the app thread returned by the player or the thread
the commands are called on depending on whether the media source is already
prepared or not.

This change lets the application decide which callback thread to use. As a
side effect, we also don't longer need access the player instance passed to
MediaSource.prepare.

PiperOrigin-RevId: 227871111
2019-02-04 19:57:41 +00:00
olly
fb81d629f0 Merge #5462: Making easier to set the playClearSampleWithoutKeys to renderers
Imported from GitHub PR https://github.com/google/ExoPlayer/pull/5462

Pull request for the following issue: #5421
Merge d9d88b079c4ca0533a836b2715a65b924babbb89 into a73819162751116acd3863cf5473b0ff78fac805

PiperOrigin-RevId: 232335113
2019-02-04 19:46:07 +00:00
tonihei
1f476ecef0 Add missing removeCallbacksAndMessages to RobolectricUtil.
The Util class already handles removeMessages calls but so far ignored calls
to removeCallbacksAndMessages.

PiperOrigin-RevId: 232312458
2019-02-04 19:45:44 +00:00
olly
f8772fda21 Wider fix for OMX.SEC.mp3.dec issue
Issue: #4519
PiperOrigin-RevId: 232299233
2019-02-04 19:45:37 +00:00
andrewlewis
41689fdef7 Remove remainder of skip button focus hack
PiperOrigin-RevId: 231772920
2019-01-31 14:08:39 +00:00
olly
ba2ef0be94 Add additional device to output surface workaround
Issue: #4468
PiperOrigin-RevId: 231759438
2019-01-31 14:08:32 +00:00
Oliver Woodman
7a819cba65 Remove stray line 2019-01-30 22:35:19 +00:00
Oliver Woodman
4a946550c9 Update version 2019-01-30 22:33:12 +00:00
Oliver Woodman
9997bb41ab Update release notes 2019-01-30 22:31:33 +00:00
olly
e553fb3f66 Update OkHttp and Cronet dependencies
PiperOrigin-RevId: 231644908
2019-01-30 22:28:56 +00:00
aquilescanta
92e60d2edb Add DefaultTsPayloadReaderFactory flag to ignore HDMV DTS streams
Prevents collisions with SCTE-35 subtitles.

Issue:#5330
PiperOrigin-RevId: 230195494
2019-01-30 20:09:49 +00:00
Oliver Woodman
e5bf47e8cf Fix issue delivering events to PlayerView OnClickListener 2019-01-30 20:05:16 +00:00
andrewlewis
4acdc8d0b7 Fix buffered position when loading has not completed
If there is data after the last samples in the container, we may request
continue loading after the last samples have been read but before the load has
completed. In this situation the buffered position is returned as
Long.MAX_VALUE, which prevents continuing loading, yet the media period is not
treated as fully buffered because its buffered position is not
C.TIME_END_OF_SOURCE.

PiperOrigin-RevId: 231406964
2019-01-30 19:47:07 +00:00
andrewlewis
21e593a14d Fix float output capability check
Float output is only possible from API 21, but the high-res int
to float conversion path was checking for 32-bit PCM not float
output capability.

PiperOrigin-RevId: 231172495
2019-01-30 19:45:37 +00:00
olly
a96d26dbc1 Clarify LoopingMediaSource documentation
PiperOrigin-RevId: 231171425
2019-01-30 19:45:25 +00:00
andrewlewis
aec2b19c7d Update IMA to 3.10.6
This brings in a memory leak fix.

Issue: #4114
PiperOrigin-RevId: 230880521
2019-01-30 19:45:00 +00:00
aquilescanta
c176789927 Parse CHANNELS attribute from EXT-X-MEDIA
PiperOrigin-RevId: 230743198
2019-01-30 19:44:56 +00:00
aquilescanta
2843404412 Move parseSelectionFlags with the rest of the parse{attribute} methods
PiperOrigin-RevId: 230734189
2019-01-30 19:06:48 +00:00
Oliver Woodman
1c4ea26ff0
Merge pull request #5388 from google/dev-v2-r2.9.4
r2.9.4
2019-01-21 20:57:18 +00:00
Oliver Woodman
200c877d71 Fix release notes 2019-01-21 14:26:53 +00:00
tonihei
0b49d002f1 Use loading period event time for fatal load errors.
ExoPlaybackExceptions of type SOURCE are always associated with the loading
period and thus we can use the event time for the loading period in
onPlayerError. Renderer and unexpected exceptions are still associated with the
currently playing period.

Issue:#5407
PiperOrigin-RevId: 230216253
2019-01-21 14:18:59 +00:00
andrewlewis
289f63c650 Fix GVR dependency
PiperOrigin-RevId: 230213842
2019-01-21 13:27:51 +00:00
andrewlewis
95bef2d9b1 Upgrade to GVR SDK 1.190.0
Change the dependency to the new monolithic GVR SDK target.

PiperOrigin-RevId: 229931549
2019-01-21 13:27:18 +00:00