4000 Commits

Author SHA1 Message Date
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
4a946550c9 Update version 2019-01-30 22:33:12 +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
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
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
tonihei
563d3c20ab 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: 230206675
2019-01-21 13:22:59 +00:00
tonihei
29376b3dd2 Add missing @Nullable to SimpleExoPlayer fields and methods.
Issue:#5402
PiperOrigin-RevId: 229758525
2019-01-21 13:18:55 +00:00
tonihei
9911c11191 Add start position to MediaSource.createPeriod.
That's the same position set in MediaPeriod.prepare (where it may be removed
in the future).

Having the position at an earlier point is necessary to fix an
issue with lazy preparation in ConcatenatingMediaSource where the prepare
position was assumed to be known but MediaPeriod.prepare hasn't been called
yet.

Issue:#5350
PiperOrigin-RevId: 229756637
2019-01-17 19:07:49 +00:00
bachinger
8bf1267495 allow developers to set the subText of the notifcation
Issue: #5344
PiperOrigin-RevId: 229527963
2019-01-17 19:03:45 +00:00
tonihei
4483639f9a Fix bug where missing switch adaptation set causes multiple identical track groups.
When the extra adaptation set of a switch group isn't defined in the manifest, we
currently assume it's the first adaptation group. This either leads to wrong grouping
or duplicate track groups.

Such a case may easily happen if the manifest is filtered such that only one of the
switch adaptation sets will be present in the manifest.

PiperOrigin-RevId: 229365379
2019-01-15 15:25:45 +00:00
tonihei
4f1f4fbf49 Fix typo.
PiperOrigin-RevId: 229365333
2019-01-15 15:25:39 +00:00
olly
84574d9c11 Bump version for 2.9.4 release
PiperOrigin-RevId: 229364563
2019-01-15 15:06:18 +00:00
Oliver Woodman
516e02c696 Fix release branch 2019-01-15 14:32:15 +00:00
tonihei
e1b55e6d27 Add buffer flag for last sample to improve buffered position calculation.
The buffered position is currently based on the mimimum queued timestamp of
all AV tracks. If the tracks have unequal lengths, one track continues loading
without bounds as the "buffered position" will always stay at the shorter
track's duration.

This change adds an optional buffer flag to mark the last sample of the
stream. This is set in the Mp4Extractor only so far. ExtractorMediaSource
uses this flag to ignore AV streams in the buffered duration calculation if
they already finished loading.

Issue:#3670
PiperOrigin-RevId: 229359899
2019-01-15 14:31:18 +00:00
olly
546af063d6 Fix DRM protected SmoothStreaming with subtitles
Issue: #5378
PiperOrigin-RevId: 229261658
2019-01-15 14:15:38 +00:00
tonihei
66ca43ed1d Don't forget isSeekable in ExtractorMediaSource.
We currently forget whether a source is seekable at re-preparation. This was
implemented intentionally this way under the assumption that we really can't seek
until we have loaded the seek map again. However, seek operations are only
allowed after a media period is prepared. So there is no harm in remembering
whether a source is seekable.

This problem currently prevents reusing ClippingMediaSources with
ExtractorMediaSource and a non-zero start clip position.

Issue: #5351
PiperOrigin-RevId: 229169441
2019-01-15 14:13:34 +00:00
andrewlewis
34d0e0cea1 Blacklist OMX.SEC.mp3.dec for more devices
Issue: #4519
PiperOrigin-RevId: 229145790
2019-01-15 14:13:03 +00:00
tonihei
81ca7fe090 Add missing call to timeline.getWindow.
The window object is used without being filled with data. This used to work
well for most cases as the same live stream is sending regular updates and the
first update is almost never used if it's not the first item in a playlist.

It causes problems when the first timeline update of a live stream is actually
used for playback (e.g. when the live stream is lazily prepared in a playlist
and played first).

PiperOrigin-RevId: 228530232
2019-01-15 14:12:25 +00:00
olly
80645056d2 Doc fix.
PiperOrigin-RevId: 228296962
2019-01-15 14:11:25 +00:00
aquilescanta
93f4a19f07 Expand check for muxed audio media tags to include uris that match variants
Issue:#5313
PiperOrigin-RevId: 228155222
2019-01-15 14:10:59 +00:00
aquilescanta
32bad69158 Increase search size in mp4 sniffing once moov has been found
Issue:#5320
PiperOrigin-RevId: 228142567
2019-01-15 14:10:53 +00:00
andrewlewis
99bc13221c Treat AVERROR_INVALIDDATA as non-fatal
Also configure the FFmpeg context to ignore errors as far as possible (this
appears to have an effect only for certain decoders).

Issue: #5293
PiperOrigin-RevId: 227851397
2019-01-15 14:10:02 +00:00
andrewlewis
189e3c31be Fix nullness issue
PiperOrigin-RevId: 227822937
2019-01-15 14:09:18 +00:00
andrewlewis
a568fbdd51 Parse frame rate from 'mdta' metadata
PiperOrigin-RevId: 227813461
2019-01-15 14:09:04 +00:00
aquilescanta
4847889a2f Prevent IllegalStateException in Mp4 sniffing
If a negative value is read, sniffing should just fail.

PiperOrigin-RevId: 227689568
2019-01-15 14:07:59 +00:00
aquilescanta
61a7750f23 Enable setOutputSurfaceWorkaround for Huawei P10 lite
Issue:#5312
PiperOrigin-RevId: 227673949
2019-01-15 14:07:28 +00:00
aquilescanta
aff689a7da Fix bug when calculating EOF position in mp4 sniffing
PiperOrigin-RevId: 227668426
2019-01-15 14:07:18 +00:00
tonihei
fc16833903 Use Handler instead of ExoPlayer messages in ConcatenatingMediaSource
ExoPlayer methods must not be called from any thread besides the specified
app thread. Therefore we shouldn't use them here. Using a regular Handler
instead is fully equivalent.

Issue:#5240
PiperOrigin-RevId: 227650489
2019-01-15 14:07:05 +00:00
andrewlewis
f11abbda97 Fix replacement char check
PiperOrigin-RevId: 227646358
2019-01-15 14:06:47 +00:00
olly
6373554d6a Move syncFileDescriptor to use an experimental method
PiperOrigin-RevId: 227520168
2019-01-15 14:05:21 +00:00
andrewlewis
d3f5057d59 Handle rectangular rotation projections in Matroska
See also https://github.com/Matroska-Org/matroska-specification/issues/269.

PiperOrigin-RevId: 226758584
2019-01-15 14:03:54 +00:00
tonihei
f79005ab0a Fix manifest uri in SsDownloadHelper.
This is the same as in SsMediaSource.

PiperOrigin-RevId: 225001911
2019-01-15 13:47:53 +00:00
tonihei
3833d98755 Improve doc for setKeepContentOnPlayerReset.
This also applies when seeking or transitioning to unprepared media, which
isn't clear from the current documentation.

Issue:#5267
PiperOrigin-RevId: 226486685
2019-01-15 13:43:39 +00:00
olly
f042ae4cf3 Don't write CachedContentIndex to disk on key removal
Issue: #5136
PiperOrigin-RevId: 224857629
2018-12-20 21:41:47 +00:00
olly
c73c6f2013 Bump for 2.9.3
PiperOrigin-RevId: 226356810
2018-12-20 21:18:41 +00:00
Oliver Woodman
4ccfa6f068 Fix buffer size for renderers with TRACK_TYPE_NONE
This includes NoSampleRenderers.
2018-12-20 12:31:20 +00:00
Oliver Woodman
6060b8113d Relax audio decoder capability checks
Issue: #5145
2018-12-19 22:01:20 +00:00
aquilescanta
f6165f753c Mitigate the need for FLAG_ALLOW_NON_IDR_KEYFRAMES
Use random access indicator in transport streams

Issue:#1967
Issue:#2020
Issue:#2182
Issue:#2469
Issue:#2581
Issue:#2748
Issue:#2939
Issue:#2979
Issue:#3316
Issue:#3574
Issue:#3709
Issue:#3747
Issue:#4103
Issue:#4184
Issue:#4355
Issue:#4538
Issue:#4719
Issue:#4861
Issue:#4925
Issue:#4951
Issue:#5108
Issue:#5186
PiperOrigin-RevId: 225798044
2018-12-19 21:56:58 +00:00
Oliver Woodman
fa82004fa3 Merge pull request #5066 from szaboa:feature/1583_support_png_ttml
PiperOrigin-RevId: 225531695
2018-12-19 21:51:36 +00:00
olly
ca9ecaa448 Blacklist OMX.SEC.mp3.dec for more devices
Issue #4519

PiperOrigin-RevId: 226205245
2018-12-19 21:50:26 +00:00
andrewlewis
975ed6c277 Use the true bitrate for CBR MP3 seeking
PiperOrigin-RevId: 225989898
2018-12-19 21:50:14 +00:00
Oliver Woodman
78cdd5fee1 Merge pull request #5216 from mseroczynski:dev-v2
PiperOrigin-RevId: 225966289
2018-12-19 21:49:48 +00:00
olly
abdb58485f Add Player.MetadataComponent for completeness
PiperOrigin-RevId: 225795581
2018-12-19 21:49:21 +00:00