Commit graph

413 commits

Author SHA1 Message Date
aquilescanta
70d7b26f4f Remove lates HLS changes from 2.9.6 release notes
PiperOrigin-RevId: 234765847
2019-02-20 15:48:29 +00:00
andrewlewis
b1fcfa9677 Bump version for 2.9.6 release
PiperOrigin-RevId: 234578712
2019-02-19 18:06:00 +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
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
f8772fda21 Wider fix for OMX.SEC.mp3.dec issue
Issue: #4519
PiperOrigin-RevId: 232299233
2019-02-04 19:45:37 +00:00
Oliver Woodman
7a819cba65 Remove stray line 2019-01-30 22:35:19 +00:00
Oliver Woodman
9997bb41ab Update release notes 2019-01-30 22:31:33 +00:00
aquilescanta
c176789927 Parse CHANNELS attribute from EXT-X-MEDIA
PiperOrigin-RevId: 230743198
2019-01-30 19:44:56 +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
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
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
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
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
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
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
13638f1c29 Remove AdsLoader listeners on releasing ImaAdsLoader
Issue: #4114
PiperOrigin-RevId: 227516509
2019-01-15 14:05:00 +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
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
7426c14b2a Update release notes 2018-12-19 21:55:12 +00:00
olly
84ad3f7b66 Fix release notes
PiperOrigin-RevId: 225170404
2018-12-19 21:48:28 +00:00
andrewlewis
f8ad6d309e Fix clearkey DRM UUID passed to MediaCrypto
PiperOrigin-RevId: 223324279
2018-11-30 16:30:01 +00:00
aquilescanta
9d50a6191e Add missing dot at the end of RELEASENOTES item
PiperOrigin-RevId: 223206504
2018-11-30 16:28:58 +00:00
andrewlewis
6d232f5b2b Replace remaining stbl assertions with warnings
Issue: #5162
PiperOrigin-RevId: 223193019
2018-11-30 16:28:52 +00:00
olly
5134477873 Bump for 2.9.2
PiperOrigin-RevId: 223141203
2018-11-28 11:47:09 +00:00
andrewlewis
15d13bdccd Handle metadata failing to decode in MetadataRenderer
Issue: #5149
PiperOrigin-RevId: 223121651
2018-11-28 11:45:45 +00:00
olly
017923ed81 Fall back to TYPE_ROTATION_VECTOR if TYPE_GAME_ROTATION_VECTOR unavailable
Issue: #5119
PiperOrigin-RevId: 222978448
2018-11-27 19:50:45 +00:00
olly
38c53298b0 Strip private ID3 data from HLS sample formats
Issue: #5063
PiperOrigin-RevId: 222975020
2018-11-27 19:49:18 +00:00
olly
2cab83e6e4 Fix unnecessary media playlist requests when playing live streams
Issue: #5059
PiperOrigin-RevId: 222803511
2018-11-27 19:46:37 +00:00
tonihei
3039c358cc Fix show_buffering attribute values.
The corresponding IntDef has changed without updating the attribute values.

Issue:#5139
PiperOrigin-RevId: 222598044
2018-11-27 19:45:49 +00:00
olly
56b0294ba2 Support Opus and Flac in MP4/DASH
Issue: #4883

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=222392621
2018-11-27 19:42:30 +00:00
olly
c08edc5e0a Workaround for TS seeking
- Increase the search window size to fix TS seeking for problematic
  media we've had provided to us.
- As per my comments on the issue, we should look at doing more here
  to better fix the problem. This will solve the worst of the
  immediate problem, however.
- The memory usage is non-trivial, particularly with the increased
  search window size. I've made the allocations only live whilst
  determining duration and seeking to address this. I've done the same
  for PS just for consistency.

Issue: #5097

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=221449988
2018-11-27 19:41:26 +00:00
olly
84fc24492f DASH: Fix detection of end of live events
The remaining work is to split Window.isDynamic so that it's
possible to represent a window that wont be appended to, but
may still be removed from.

Issue: #4780

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=221439220
2018-11-27 19:40:58 +00:00
andrewlewis
d9462b9d2b Include channel count in capabilities check
Issue: #4690

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=220640737
2018-11-27 19:34:04 +00:00
olly
fd98d70a11 Make TimelineQueueNavigator shuffle aware
Issue: #5065

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=220468285
2018-11-07 18:05:13 +00:00
borrelli
ac0b11edc0 Fix for #5055 - Cannot disable audio focus after enabled.
This fixes an issue where disabling audio focus handling
while audio focus is held would not release audio focus.

A new test was added for this situation.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=220316866
2018-11-07 18:03:46 +00:00
andrewlewis
3e35b6d016 Work around non-empty EoS buffers with timestamp 0
Issue: #5045

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=220237752
2018-11-06 11:10:40 +00:00
aquilescanta
6d84b2a496 Update the DefaultExtractorInput's peek buffer length on each write
This prevents leaving an inconsistent state after a EOF exception.

Issue:#5039

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219785275
2018-11-02 16:04:59 +00:00
olly
f9a805070a Bump version to 2.9.1
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219609471
2018-11-01 11:29:52 +00:00
tonihei
e4c20aa3de Add convenience methods player.next() and player.previous()
This simplifies code skipping items in a playlist programatically.

Issue:#4863

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=214580742
2018-11-01 09:43:12 +00:00
Oliver Woodman
4d9044d690 Fix release notes typo 2018-10-31 22:18:31 +00:00
Oliver Woodman
c04cf30960 Update release notes 2018-10-31 22:04:37 +00:00
andrewlewis
b007cbf2b4 Let apps specify whether to focus skip button on ATV
Issue: #5019

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219267048
2018-10-31 21:52:42 +00:00
andrewlewis
e6b49a5410 Fix handling of MP3s with appended data
Issue: #4954

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=218357113
2018-10-24 18:59:38 +01:00