6800 Commits

Author SHA1 Message Date
olly
32b0474d57 Clean up playback suppression
PiperOrigin-RevId: 274561876
2019-10-14 14:11:31 +01:00
olly
0cda57aa5a Bump version to 2.10.6
PiperOrigin-RevId: 274534626
2019-10-14 14:10:28 +01:00
andrewlewis
c02f3dd4ff Handle legacy DASH audio channel configuration
Issue: #6523
PiperOrigin-RevId: 274160232
2019-10-13 12:44:29 +01:00
olly
5a6fdaad72 Don't set a playback suppression reason for permanent audio focus loss
It's documented to be for temporary loss only (i.e. the case where
externally reported playWhenReady is still true)

PiperOrigin-RevId: 274129922
2019-10-13 12:42:52 +01:00
krocard
0425264b8f Update Gradle version
PiperOrigin-RevId: 273971120
2019-10-13 12:37:48 +01:00
ibaker
3b9a9c9b7e Enable ID3-in-EMSG for HLS streams
This supports both chunkless & traditional preparation

PiperOrigin-RevId: 273938344
2019-10-13 12:37:08 +01:00
olly
6934c6fb33 Fix bogus reporting of audio focus loss
Playback cannot be suppressed if playWhenReady=false

PiperOrigin-RevId: 273726084
2019-10-13 12:33:56 +01:00
Oliver Woodman
6046e92920 Merge pull request #6502 from caiiiyua:bug_default_dash_chunk_source_wrong_segmentnumshift
PiperOrigin-RevId: 273549830
2019-10-13 12:29:27 +01:00
olly
0249058c1b Parse Label elements for adaptation sets
Issue: #6297
PiperOrigin-RevId: 273297284
2019-10-13 12:29:18 +01:00
olly
904e3f8d47 Define default colors as constants
It's confusing that app:played_color also modifies the colors
that derive from it, but the corresponding setter does not. It
seems generally clearer just to define constants.

PiperOrigin-RevId: 273249557
2019-10-13 12:19:04 +01:00
olly
97cfcb57e6 Cleanup: Only clamp seek positions for FFWD/RWND
It's confusing that seekTo(player, windowIndex, positionMs) does
clamping, because it only makes sense if windowIndex is the current
window.

Note: This doesn't actually fix anything (other than code clarity).
In cases where we were passing other windowIndices, we always
passed 0 as the position and so the clamping logic wouldn't have
had any effect.
PiperOrigin-RevId: 272857104
2019-10-13 12:18:23 +01:00
Oliver Woodman
02c344999c Merge pull request #6379 from wingyippp:flac-seek-map-two-points
PiperOrigin-RevId: 272856747
2019-10-13 12:18:12 +01:00
ibaker
fabdb84136 Exclude .li files in ExoPlayer's .hgignore
These seem to be created by the Android Studio layout inspector

PiperOrigin-RevId: 272856118
2019-10-13 12:18:00 +01:00
olly
5e090d81b4 Remove unnecessary DeleteLocalRef usage
Keeping the ones inside loops, because theoretically they
can be useful there (in practice, for this use case, it's
highly unlikely to make any difference).

PiperOrigin-RevId: 272834073
2019-10-13 12:17:45 +01:00
andrewlewis
495b418fb1 Add missing player null check
PiperOrigin-RevId: 272654378
2019-10-13 12:17:10 +01:00
sofijajvc
722722d8df Fix GL error logging
Log only if an error occured.

PiperOrigin-RevId: 272618322
2019-10-13 12:16:50 +01:00
olly
32afc33313 Make factories return specific types
PiperOrigin-RevId: 272614917
2019-10-13 12:16:38 +01:00
olly
2d0d4c7862 Clean up DashManifestParserTest
Also improve some tests by asserting the parser is left in
the correct position (assertNextTag).

PiperOrigin-RevId: 272614768
2019-10-13 12:16:25 +01:00
olly
e34685601c Minor upstream cleanup
PiperOrigin-RevId: 272614610
2019-10-13 12:16:08 +01:00
ibaker
e0c8cbe21e Pass the raw ICY metadata through IcyInfo
The ICY 'spec' isn't really clear/tight enough to do anything more
specific than this I think.

Issue:#6476
PiperOrigin-RevId: 272405322
2019-10-13 12:13:28 +01:00
andrewlewis
15df31b995 Remove references to cast_receiver_app
PiperOrigin-RevId: 272010353
2019-10-13 12:11:46 +01:00
ibaker
a09960b8f4 Move HLS mapped track picking into a separate method
This helps reduce the amount of nesting in HlsSampleStreamWrapper.track()

PiperOrigin-RevId: 271983779
2019-10-13 12:08:24 +01:00
ibaker
d9b60edabf Remove duplicated tracksEnded check in HlsSampleStreamWrapper
PiperOrigin-RevId: 271364512
2019-10-13 12:04:28 +01:00
ibaker
87138ceede Reshuffle {audio,video}SampleQueue{Index,MappingDone} into fields mapped by type
PiperOrigin-RevId: 271364200
2019-10-13 12:04:12 +01:00
tonihei
ad59304f77 Forward isPlaying/playbackSuppressionReason changes to analytics listeners.
PiperOrigin-RevId: 271347407
2019-10-13 12:03:39 +01:00
tonihei
7e46d34788 Add EventListener.onPlaybackSuppressionReasonChanged
Adding this callback makes sense for completeness (we have similar callbacks
for all other playback state properties), and also to detect audio focus loss
while buffering which would currently trigger no callback because isPlaying
is still false.

Issue:#6203
PiperOrigin-RevId: 271347351
2019-10-13 12:03:18 +01:00
olly
a3667decf9 Try initializing ADAPTATION_WORKAROUND_BUFFER as a byte[]
PiperOrigin-RevId: 270999947
2019-10-13 12:01:34 +01:00
tonihei
76a1dd3da2 Use Player.isPlaying in appropriate places.
This method should be used where we previously checked for active playback
by state==READY and playWhenReady=true. Using the new method ensures we take
audio focus into account for these usages.

Also update some method naming to avoid confusion with the isPlaying method.

Issue:#6203
PiperOrigin-RevId: 270910982
2019-10-13 12:01:04 +01:00
ibaker
90b52123ce Simplify the ffmpeg build instructions a little
In-line EXOPLAYER_ROOT which only has one reference. And change
FFMPEG_EXT_PATH to always include "/jni"

PiperOrigin-RevId: 270866662
2019-10-13 11:59:25 +01:00
ibaker
719029d195 Add a cd command to ExoPlayer clone instructions
With this missing, the `checkout` command errors with:
$ git checkout release-v2
fatal: not a git repository (or any of the parent directories): .git
PiperOrigin-RevId: 270670796
2019-10-13 11:59:04 +01:00
tonihei
fec8275331 Change default bandwidth fraction in AdaptiveTrackSelection.
A reduced fraction of 0.7 was shown to better balance the rebuffer/quality
trade-off.

PiperOrigin-RevId: 270670465
2019-10-13 11:58:39 +01:00
Ian Baker
176d211bfa
Remove the content_not_playing issue template 2019-10-08 10:08:38 +01:00
Marc Baechinger
3e5c66ec85
Update question.md 2019-10-01 11:59:03 +01:00
Marc Baechinger
a291777829
Update feature_request.md 2019-10-01 11:58:45 +01:00
Marc Baechinger
00ddb251c5
Update content_not_playing.md 2019-10-01 11:58:19 +01:00
Marc Baechinger
242d50b004
removed validation comment 2019-10-01 11:57:58 +01:00
Oliver Woodman
bef130ad17
Merge pull request #6371 from google/dev-v2-r2.10.5
r2.10.5
2019-09-21 15:37:41 -07:00
aquilescanta
c9fc0da745 When the HLS container format is not packed audio, reset timestmap offset
Issue:#6444
PiperOrigin-RevId: 270252126
2019-09-20 12:33:13 -07:00
Oliver Woodman
47bfa0691e Remove Player.State annotation from 2.10.5 2019-09-20 11:57:40 -07:00
olly
38d6c31fa7 Add 2.10.5 release date
PiperOrigin-RevId: 270295080
2019-09-20 10:13:49 -07:00
tonihei
d03c1dce0d Add dates to releases in RELEASENOTES.
PiperOrigin-RevId: 270276830
2019-09-20 10:13:19 -07:00
olly
ade65860e6 Remove stray line of code (it's duplicated below)
PiperOrigin-RevId: 270289374
2019-09-20 10:07:14 -07:00
tonihei
bbb739d1de Fix playback speed in MediaSessionConnector
The playback speed set in MediaSession's PlaybackStateCompat needs to be the
actual speed at which the playback position progresses and not the user-defined
target speed.

This fixed a bug where the position advances although the player lost audio
focus.

Issue:#6203
PiperOrigin-RevId: 269295249
2019-09-20 10:07:14 -07:00
tonihei
f8d81d05a4 Add Player.isPlaying and Player.getPlaybackSuppressionReason
The player may suppress playback when waiting for audio focus even if the
state==Player.READY. There is currently no getter or callback to obtain this
piece of information for UI updates or analytics.

Also, it's a important derived state to know whether the playback position is
advancing. Add isPlaying and the corresponding callback to allow retrieving
this information more easily.

Issue:#6203
PiperOrigin-RevId: 268921721
2019-09-20 10:07:10 -07:00
olly
9557868c18 Update release notes
- Remove HTTP/2 Fix note, since the issue is still present
- Add release note for fatal error handling fix

PiperOrigin-RevId: 269902736
2019-09-18 15:28:39 -07:00
olly
1be1b0abfb Improve old release notes
PiperOrigin-RevId: 269781924
2019-09-18 15:28:31 -07:00
aquilescanta
556a9954a8 Avoid retrying fatal errors
Also clear fatal errors on seek operations

PiperOrigin-RevId: 269780886
2019-09-18 15:28:19 -07:00
olly
73e35abf27 Bump version to 2.10.5
PiperOrigin-RevId: 269582832
2019-09-18 15:26:44 -07:00
olly
2fca01b925 Make flags contiguous: There's no reason for the gap :)
PiperOrigin-RevId: 269514872
2019-09-17 09:08:12 -07:00
olly
57370b37ce Update translations
PiperOrigin-RevId: 269521864
2019-09-17 09:07:55 -07:00