tonihei
6a2d04e3ce
Reflect playback suppression in PlaybackStats states.
...
Also split existing SUSPENDED state into ABANDONED and INTERUPTED_BY_AD for
more clarity.
PiperOrigin-RevId: 271997824
2019-10-02 21:28:28 +01:00
ibaker
f0723a27b7
Move HLS mapped track picking into a separate method
...
This helps reduce the amount of nesting in HlsSampleStreamWrapper.track()
PiperOrigin-RevId: 271983779
2019-10-02 21:28:20 +01:00
tonihei
9cc927bc64
Don't block on a dead thread when waiting for messages.
...
PiperOrigin-RevId: 271983192
2019-10-02 21:28:13 +01:00
sofijajvc
7c199eb1ad
Move vpx constant for setting output renderer to common constants file
...
This will be used by both av1 and vp9 extensions.
PiperOrigin-RevId: 271949754
2019-10-02 21:28:05 +01:00
ibaker
bab12af597
Tweak Id3Decoder error message to print hex instead of int
...
Before: "Unexpected first three bytes of ID3 tag header: 6845556"
After: "Unexpected first three bytes of ID3 tag header: 0x687474"
PiperOrigin-RevId: 271949486
2019-10-02 21:27:57 +01:00
sofijajvc
36d3fef2b5
Update vpx README file
...
PiperOrigin-RevId: 271942692
2019-10-02 21:27:50 +01:00
andrewlewis
9f8002f16a
Update LINT.IfChange for extension constants
...
PiperOrigin-RevId: 271617996
2019-10-02 21:27:42 +01:00
aquilescanta
b50da6d72e
Add DefaultDrmSessionManager.Builder
...
Issue:#6334
Issue:#4721
Issue:#6334
Issue:#4867
PiperOrigin-RevId: 271577773
2019-10-02 21:27:35 +01:00
sofijajvc
22c3be75ea
Extract vpx code used for GL rendering to common classes
...
This will be used by both vp9 and av1 Exoplayer extensions.
PiperOrigin-RevId: 271568429
2019-10-02 21:27:27 +01:00
aquilescanta
d632cb86c1
Make multisession work well with placeholder session
...
Issue:#4867
PiperOrigin-RevId: 271404942
2019-10-02 21:27:19 +01:00
ibaker
f0b9889ef6
Remove duplicated tracksEnded check in HlsSampleStreamWrapper
...
PiperOrigin-RevId: 271364512
2019-10-02 21:27:12 +01:00
ibaker
b57c356fbf
Reshuffle {audio,video}SampleQueue{Index,MappingDone} into fields mapped by type
...
PiperOrigin-RevId: 271364200
2019-10-02 21:27:04 +01:00
aquilescanta
5a8c4b90f4
Add getFlags implementation to DefaultDrmSessionManager
...
Issue:#4867
PiperOrigin-RevId: 271348533
2019-10-02 21:26:56 +01:00
tonihei
d185cea73b
Forward isPlaying/playbackSuppressionReason changes to analytics listeners.
...
PiperOrigin-RevId: 271347407
2019-10-02 21:26:49 +01:00
tonihei
004b9e8e8c
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-02 21:26:41 +01:00
sofijajvc
60a9cf68c9
Add OpenGL support to av1 extension: jni library
...
Update native gav1GetFrame method.
PiperOrigin-RevId: 271160989
2019-10-02 21:26:34 +01:00
aquilescanta
c2bab7a745
Introduce ExoMediaDrm.Provider into DefaultDrmSessionManager
...
Issue:#4721
PiperOrigin-RevId: 271127127
2019-10-02 21:26:19 +01:00
olly
e4cabcac0f
Try initializing ADAPTATION_WORKAROUND_BUFFER as a byte[]
...
PiperOrigin-RevId: 270999947
2019-10-02 21:26:11 +01:00
aquilescanta
fa803967f2
Remove mediaDrm methods from DefaultDrmSessionManager
...
DrmSessionManagers may now be in released state, in which case they
may release their MediaDrm. In that case, it would be invalid to
forward method calls to the underlying MediaDrms. Users should
instead call these methods directly on the MediaDrm.
Issue:#4721
PiperOrigin-RevId: 270963393
2019-10-02 21:26:04 +01:00
tonihei
4df2262bcf
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-02 21:25:56 +01:00
ibaker
c5b6c6229b
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-02 21:25:48 +01:00
bachinger
4ad4e3e4fc
Rollback of 3b22db33ba
...
*** Original commit ***
add top-level playlist API to ExoPlayer
Public design doc:
https://docs.google.com/document/d/11h0S91KI5TB3NNZUtsCzg0S7r6nyTnF_tDZZAtmY93g
Issue: #6161
***
PiperOrigin-RevId: 270728267
2019-10-02 21:25:39 +01:00
aquilescanta
cc8b774b41
Remove DefaultDrmSessionManager factory methods that enforce MediaDrm leaks
...
Inline invocations of these methods, which still leaks the MediaDrms.
However, it will be fixed once the DefaultDrmSessionManager API is finalized
and ExoMediaDrm.Providers are introduced.
Issue:#4721
PiperOrigin-RevId: 270681467
2019-10-02 21:25:31 +01:00
ibaker
1983667845
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-02 21:25:23 +01:00
tonihei
c8ea831a1e
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-02 21:25:15 +01:00
christosts
5695bae9d8
Remove DataSpec.FLAG_ALLOW_ICY_METADATA
...
Remove the flag DataSpec.FLAG_ALLOW_ICY_METADATA. Instead, set the
header IcyHeaders.REQUEST_HEADER_ENABLE_METADATA_NAME in the DataSpec
httpRequestHeaders.
BUG:134034248
PiperOrigin-RevId: 270662676
2019-10-02 21:25:07 +01:00
sofijajvc
47ad497aa8
Add android config option for vp9 build
...
PiperOrigin-RevId: 270640701
2019-10-02 21:24:59 +01:00
andrewlewis
258fff422a
Publish SurfaceControl demo
...
Issue: #677
Issue: #5428
PiperOrigin-RevId: 270466031
2019-09-22 00:16:15 +01:00
aquilescanta
18b9304f25
Call prepare and release from MediaSources
...
Issue:#4721
PiperOrigin-RevId: 270342454
2019-09-22 00:16:07 +01:00
aquilescanta
7fc9c848c6
Add prepare and release to DrmSessionManager
...
The added methods will manage ExoMediaDrms instances.
Issue:#4721
PiperOrigin-RevId: 270335916
2019-09-22 00:15:59 +01:00
olly
1feb03db2d
Pull HLS audio transition fix into 2.10.5
...
PiperOrigin-RevId: 270327562
2019-09-22 00:15:51 +01:00
bachinger
216f74ecc7
avoid unexpected state changes with certain playlist states
...
With the internal playlist some new situation may happen that were not possible before:
- handlePlaylistInfoRefreshed in EPII called in IDLE state
- handlePlaylistInfoRefreshed in EPII called in ENDED state with an empty playlist
- seeks in ENDED state with an empty playlist
PiperOrigin-RevId: 270316681
2019-09-22 00:15:43 +01:00
olly
d67926ef2b
Pull focus fix into 2.10.5
...
PiperOrigin-RevId: 270295428
2019-09-20 18:12:00 +01:00
olly
600b5181a3
Add 2.10.5 release date
...
PiperOrigin-RevId: 270295080
2019-09-20 18:11:52 +01:00
olly
7fff1dfd9c
Remove stray line of code (it's duplicated below)
...
PiperOrigin-RevId: 270289374
2019-09-20 17:49:03 +01:00
tonihei
b0e2ce40d6
Add dates to releases in RELEASENOTES.
...
PiperOrigin-RevId: 270276830
2019-09-20 17:21:01 +01:00
olly
0a854d6b84
Rollback of dd7223df10
...
*** Original commit ***
Refactor HlsSampleStreamWrapper#track() to clarify the return paths
I found the original implementation quite hard to follow, and I believe this is functionally identical.
***
PiperOrigin-RevId: 270263186
2019-09-20 17:21:01 +01:00
aquilescanta
e5f9a858d3
When the HLS container format is not packed audio, reset timestmap offset
...
Issue:#6444
PiperOrigin-RevId: 270252126
2019-09-20 17:21:01 +01:00
tonihei
0cc0444af8
Restructure setup of default values in track selection parameter builders.
...
PiperOrigin-RevId: 270250456
2019-09-20 17:21:01 +01:00
ibaker
6cd530520d
Refactor HlsSampleStreamWrapper#track() to clarify the return paths
...
I found the original implementation quite hard to follow, and I believe this is functionally identical.
PiperOrigin-RevId: 270237641
2019-09-20 17:21:01 +01:00
tonihei
31b9280e0e
Add track selection option to use accessiblity captioning manager settings
...
This option allows to set the preferred text language and role flags based
on the user's accessiblity captioning settings.
Issue:#5749
PiperOrigin-RevId: 270233205
2019-09-20 17:21:01 +01:00
tonihei
531c5638a2
Rename DEFAULT_WITHOUT_VIEWPORT to DEFAULT_WITHOUT_CONTEXT.
...
PiperOrigin-RevId: 270227069
2019-09-20 17:21:01 +01:00
bachinger
852c3a53e7
copy masked timeline before notifying listeners
...
PiperOrigin-RevId: 270221478
2019-09-20 17:21:01 +01:00
bachinger
a60265b106
enable/disable media source correctly when added to playlist
...
PiperOrigin-RevId: 270007370
2019-09-20 17:21:00 +01:00
bachinger
826fe3ac27
adjust and extend the documentation around playlist API in the developer guide
...
PiperOrigin-RevId: 270002330
2019-09-20 17:20:44 +01:00
olly
78ef6c6496
Update release notes
...
- Fatal error handling fix is now in 2.10.5
PiperOrigin-RevId: 269904669
2019-09-20 16:52:54 +01:00
olly
f4f908408b
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 23:23:36 +01:00
olly
d22794111c
Improve old release notes
...
PiperOrigin-RevId: 269781924
2019-09-18 23:23:29 +01:00
aquilescanta
9863cd33fa
Avoid retrying fatal errors
...
Also clear fatal errors on seek operations
PiperOrigin-RevId: 269780886
2019-09-18 23:23:21 +01:00
bachinger
3b22db33ba
add top-level playlist API to ExoPlayer
...
Public design doc:
https://docs.google.com/document/d/11h0S91KI5TB3NNZUtsCzg0S7r6nyTnF_tDZZAtmY93g
Issue: #6161
PiperOrigin-RevId: 269584512
2019-09-18 23:23:13 +01:00