com.google.android.exoplayer2.util.EventLogger(MappingTrackSelector)
diff --git a/docs/doc/reference/index-all.html b/docs/doc/reference/index-all.html
index 2682216f819..94e88c8aa4f 100644
--- a/docs/doc/reference/index-all.html
+++ b/docs/doc/reference/index-all.html
@@ -90,7 +90,7 @@
-A B C D E F G H I J K L M N O P Q R S T U V W X Y All Classes All Packages
+A B C D E F G H I J K L M N O P Q R S T U V W X Y Z All Classes All Packages
A
@@ -585,6 +585,11 @@
A
+
adBufferedPositionMsSupplier - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
add(@com.google.android.exoplayer2.Player.Command int) - Method in class com.google.android.exoplayer2.Player.Commands.Builder
@@ -609,6 +614,24 @@ A
Associates the specified value with the specified timestamp.
+ add(MediaItem) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+
+
+
add(MediaItem, long) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+Adds a
MediaItem
to the concatenation and specifies its initial placeholder duration
+ used while the actual duration is still unknown.
+
+
add(MediaSource) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+
+
+
add(MediaSource, long) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+Adds a
MediaSource
to the concatenation and specifies its initial placeholder
+ duration used while the actual duration is still unknown.
+
add(Dumper.Dumpable) - Method in class com.google.android.exoplayer2.testutil.Dumper
add(E) - Method in class com.google.android.exoplayer2.util.CopyOnWriteMultiset
@@ -629,7 +652,7 @@
A
addAll(@com.google.android.exoplayer2.Player.Command int...) - Method in class com.google.android.exoplayer2.Player.Commands.Builder
-
+
addAll(int...) - Method in class com.google.android.exoplayer2.util.FlagSet.Builder
@@ -645,7 +668,7 @@ A
addAllCommands() - Method in class com.google.android.exoplayer2.Player.Commands.Builder
-
+
addAnalyticsListener(AnalyticsListener) - Method in interface com.google.android.exoplayer2.ExoPlayer
@@ -1079,6 +1102,11 @@ A
The number of ad playbacks.
+ adPlaybackState - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
+
+
AdPlaybackState - Class in com.google.android.exoplayer2.source.ads
Represents ad group times and information on the state and URIs of ads within each ad group.
@@ -1097,6 +1125,10 @@ A
adPlaybackStates - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
+
adPositionMsSupplier - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
adResumePositionUs - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
The position offset in the first unplayed ad at which to begin playback, in microseconds.
@@ -1982,6 +2014,10 @@ A
audioAttributes - Variable in class com.google.android.exoplayer2.audio.AudioAttributes.AudioAttributesV21
+
audioAttributes - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
AudioAttributes - Class in com.google.android.exoplayer2.audio
Attributes for audio playback, which configure the underlying platform
AudioTrack
.
@@ -2451,6 +2487,10 @@ B
bitmap should be displayed at its natural height given the bitmap dimensions and the specified
Cue.size
.
+bitrate - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
+
+The bitrate of audio samples.
+
bitrate - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
Bitrate of the frame in bit/s.
@@ -2729,6 +2769,14 @@ B
+ build() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+
+
+build() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData.Builder
+
+
+
build() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
@@ -2739,6 +2787,10 @@ B
+build() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+Builds the concatenating media source.
+
build() - Method in class com.google.android.exoplayer2.source.rtsp.RtpPacket.Builder
@@ -2958,11 +3010,11 @@ B
Builder() - Constructor for class com.google.android.exoplayer2.MediaItem.ClippingConfiguration.Builder
-Constructs an instance.
+Creates a new instance with default values.
Builder() - Constructor for class com.google.android.exoplayer2.MediaItem.LiveConfiguration.Builder
-Constructs an instance.
+Creates a new instance with default values.
Builder() - Constructor for class com.google.android.exoplayer2.MediaItem.RequestMetadata.Builder
@@ -2978,6 +3030,10 @@ B
Creates the builder.
+ Builder() - Constructor for class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+Creates the builder.
+
Builder() - Constructor for class com.google.android.exoplayer2.source.rtsp.RtpPacket.Builder
Builder() - Constructor for class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
@@ -3139,6 +3195,14 @@ B
Creates a builder with the initial values specified in initialValues
.
+Builder(Object) - Constructor for class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Creates the builder.
+
+Builder(Object) - Constructor for class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData.Builder
+
+Creates the builder.
+
Builder(String) - Constructor for class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
Builder(String, Uri) - Constructor for class com.google.android.exoplayer2.offline.DownloadRequest.Builder
@@ -3323,6 +3387,14 @@ B
+buildUpon() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+
+
+buildUpon() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
+
+
buildUpon() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State
@@ -4326,6 +4398,11 @@ C
clearDecoderInfoCache() - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
+clearDownloadManagerHelpers() - Static method in class com.google.android.exoplayer2.offline.DownloadService
+
+Clear all download manager helpers before restarting the
+ service.
+
clearFatalError() - Method in class com.google.android.exoplayer2.upstream.Loader
Clears any stored fatal error.
@@ -4397,6 +4474,10 @@ C
Removes all overrides of the provided track type.
+ clearPositionDiscontinuity() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Clears a previously set position discontinuity signal.
+
clearPrefixFlags(boolean[]) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
@@ -5135,7 +5216,7 @@ C
COMMAND_CHANGE_MEDIA_ITEMS - Static variable in interface com.google.android.exoplayer2.Player
-
+
COMMAND_GET_AUDIO_ATTRIBUTES - Static variable in interface com.google.android.exoplayer2.Player
@@ -5143,7 +5224,7 @@ C
COMMAND_GET_CURRENT_MEDIA_ITEM - Static variable in interface com.google.android.exoplayer2.Player
-Command to get the currently playing
MediaItem
.
+Command to get information about the currently playing
MediaItem
.
COMMAND_GET_DEVICE_VOLUME - Static variable in interface com.google.android.exoplayer2.Player
@@ -5151,7 +5232,7 @@ C
COMMAND_GET_MEDIA_ITEMS_METADATA - Static variable in interface com.google.android.exoplayer2.Player
-
+Command to get metadata related to the playlist and current
MediaItem
.
COMMAND_GET_TEXT - Static variable in interface com.google.android.exoplayer2.Player
@@ -5185,15 +5266,15 @@ C
COMMAND_SEEK_BACK - Static variable in interface com.google.android.exoplayer2.Player
-Command to seek back by a fixed increment into the current
MediaItem
.
+Command to seek back by a fixed increment inside the current
MediaItem
.
COMMAND_SEEK_FORWARD - Static variable in interface com.google.android.exoplayer2.Player
-Command to seek forward by a fixed increment into the current
MediaItem
.
+Command to seek forward by a fixed increment inside the current
MediaItem
.
COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM - Static variable in interface com.google.android.exoplayer2.Player
-Command to seek anywhere into the current
MediaItem
.
+Command to seek anywhere inside the current
MediaItem
.
COMMAND_SEEK_IN_CURRENT_WINDOW - Static variable in interface com.google.android.exoplayer2.Player
@@ -5211,7 +5292,8 @@ C
COMMAND_SEEK_TO_NEXT - Static variable in interface com.google.android.exoplayer2.Player
-Command to seek to a later position in the current or next
MediaItem
.
+Command to seek to a later position in the current
MediaItem
or the default position of
+ the next
MediaItem
.
COMMAND_SEEK_TO_NEXT_MEDIA_ITEM - Static variable in interface com.google.android.exoplayer2.Player
@@ -5225,7 +5307,8 @@ C
COMMAND_SEEK_TO_PREVIOUS - Static variable in interface com.google.android.exoplayer2.Player
-Command to seek to an earlier position in the current or previous
MediaItem
.
+Command to seek to an earlier position in the current
MediaItem
or the default position
+ of the previous
MediaItem
.
COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM - Static variable in interface com.google.android.exoplayer2.Player
@@ -5245,7 +5328,7 @@ C
COMMAND_SET_DEVICE_VOLUME - Static variable in interface com.google.android.exoplayer2.Player
-Command to set the device volume and mute it.
+Command to set the device volume.
COMMAND_SET_MEDIA_ITEM - Static variable in interface com.google.android.exoplayer2.Player
@@ -5253,7 +5336,7 @@ C
COMMAND_SET_MEDIA_ITEMS_METADATA - Static variable in interface com.google.android.exoplayer2.Player
-
+Command to set the playlist metadata.
COMMAND_SET_REPEAT_MODE - Static variable in interface com.google.android.exoplayer2.Player
@@ -5281,7 +5364,7 @@ C
COMMAND_STOP - Static variable in interface com.google.android.exoplayer2.Player
-Command to stop playback or release the player.
+Command to stop playback.
commandBytes - Variable in class com.google.android.exoplayer2.metadata.scte35.PrivateCommand
@@ -5382,6 +5465,14 @@ C
ConcatenatingMediaSource(MediaSource...) - Constructor for class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+ConcatenatingMediaSource2 - Class in com.google.android.exoplayer2.source
+
+
+
+ConcatenatingMediaSource2.Builder - Class in com.google.android.exoplayer2.source
+
+
+
ConditionVariable - Class in com.google.android.exoplayer2.util
An interruptible condition variable.
@@ -5598,7 +5689,7 @@ C
containsAny(@com.google.android.exoplayer2.Player.Event int...) - Method in class com.google.android.exoplayer2.Player.Events
-Returns whether any of the given
events
occurred.
+Returns whether any of the given
events occurred.
containsAny(int...) - Method in class com.google.android.exoplayer2.util.FlagSet
@@ -5667,6 +5758,12 @@ C
+contentBufferedPositionMsSupplier - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
ContentDataSource - Class in com.google.android.exoplayer2.upstream
@@ -5719,6 +5816,11 @@ C
The content position, in milliseconds.
+ contentPositionMsSupplier - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
contentResumeOffsetUs - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
The offset in microseconds which should be added to the content stream when resuming playback
@@ -6708,6 +6810,8 @@
C
createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
@@ -7428,10 +7532,27 @@
C
+
currentAdGroupIndex - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The current ad group index, or
C.INDEX_UNSET
if no ad is playing.
+
+
currentAdIndexInAdGroup - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The current ad index in the ad group, or
C.INDEX_UNSET
if no ad is playing.
+
currentCapacity - Variable in exception com.google.android.exoplayer2.decoder.DecoderInputBuffer.InsufficientCapacityException
The current capacity of the buffer.
+
currentCues - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
+
currentMediaItemIndex - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The current media item index, or
C.INDEX_UNSET
to assume the default first item of
+ the playlist is played.
+
currentMediaPeriodId - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
Media period identifier
for the currently playing media period at the
@@ -7969,12 +8090,12 @@
D
DECODER_SUPPORT_FALLBACK - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
-The renderer will use a fallback decoder.
+The format exceeds the primary decoder's capabilities but is supported by fallback decoder
DECODER_SUPPORT_FALLBACK_MIMETYPE - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
-The renderer will use a decoder for fallback mimetype if possible as format's MIME type is
- unsupported
+The format's MIME type is unsupported and the renderer may use a decoder for a fallback MIME
+ type.
DECODER_SUPPORT_PRIMARY - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
@@ -9243,6 +9364,11 @@ D
Creates session manager.
+ defaultPositionUs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The default position relative to the start of the media item at which to begin playback, in
+ microseconds.
+
defaultPositionUs - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
defaultPositionUs - Variable in class com.google.android.exoplayer2.Timeline.Window
@@ -9548,6 +9674,10 @@
D
Requirement that the device's internal storage is not low.
+
deviceInfo - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
DeviceInfo - Class in com.google.android.exoplayer2
Information about the playback device.
@@ -9566,6 +9696,10 @@ D
DeviceMappedEncoderBitrateProvider() - Constructor for class com.google.android.exoplayer2.transformer.DeviceMappedEncoderBitrateProvider
+
deviceVolume - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The current device volume.
+
diagnosticInfo - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException
An optional developer-readable diagnostic information string.
@@ -9802,6 +9936,11 @@ D
Discontinuity introduced by a skipped period (for instance a skipped ad).
+ discontinuityPositionMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The position, in milliseconds, in the current content or ad from which playback continued
+ after the discontinuity.
+
discontinuitySequence - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
The discontinuity sequence number of the first media segment in the playlist, as defined by
@@ -10368,6 +10507,14 @@
D
The duration of the track in microseconds, or
C.TIME_UNSET
if unknown.
+
durationUs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The duration of the media item, in microseconds, or
C.TIME_UNSET
if unknown.
+
+
durationUs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
+The total duration of the period, in microseconds, or
C.TIME_UNSET
if unknown.
+
durationUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
The total duration of the playlist in microseconds.
@@ -10514,6 +10661,12 @@ E
elapsedRealtime() - Method in class com.google.android.exoplayer2.util.SystemClock
+
elapsedRealtimeEpochOffsetMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+
+
elapsedRealtimeEpochOffsetMs - Variable in class com.google.android.exoplayer2.Timeline.Window
The offset between
SystemClock.elapsedRealtime()
and the time since the Unix epoch
@@ -10696,6 +10849,8 @@
E
enableInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
enableInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
enableRenderer(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
Schedules a renderer enable action.
@@ -10785,6 +10940,8 @@ E
ENCODING_MP3 - Static variable in class com.google.android.exoplayer2.C
+
ENCODING_OPUS - Static variable in class com.google.android.exoplayer2.C
+
ENCODING_PCM_16BIT - Static variable in class com.google.android.exoplayer2.C
ENCODING_PCM_16BIT_BIG_ENDIAN - Static variable in class com.google.android.exoplayer2.C
@@ -11030,6 +11187,10 @@
E
equals(Object) - Method in class com.google.android.exoplayer2.SeekParameters
+
equals(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+
equals(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
equals(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State
equals(Object) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
@@ -12650,7 +12811,7 @@
F
-
FakeAudioRenderer(Handler, AudioRendererEventListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeAudioRenderer
+
FakeAudioRenderer(HandlerWrapper, AudioRendererEventListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeAudioRenderer
FakeChunkSource - Class in com.google.android.exoplayer2.testutil
@@ -12944,7 +13105,7 @@ F
- FakeVideoRenderer(Handler, VideoRendererEventListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeVideoRenderer
+
FakeVideoRenderer(HandlerWrapper, VideoRendererEventListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeVideoRenderer
FALLBACK_TYPE_LOCATION - Static variable in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
@@ -13588,6 +13749,10 @@ F
Moves UI focus to the skip button (or other interactive elements), if currently shown.
+ focusSkipButton() - Method in class com.google.android.exoplayer2.ext.ima.ImaServerSideAdInsertionMediaSource.AdsLoader
+
+Puts the focus on the skip button, if a skip button is present and an ad is playing.
+
FOLDER_TYPE_ALBUMS - Static variable in class com.google.android.exoplayer2.MediaMetadata
Type for a folder containing media categorized by album.
@@ -14225,6 +14390,10 @@ G
GeobFrame(String, String, String, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.GeobFrame
+
get() - Method in interface com.google.android.exoplayer2.SimpleBasePlayer.PositionSupplier
+
+Returns the position.
+
get() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
get(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
@@ -14289,7 +14458,7 @@
G
get(String, String) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
-
get1xBufferSizeInBytes(int, int, int, int, int) - Method in class com.google.android.exoplayer2.audio.DefaultAudioTrackBufferSizeProvider
+
get1xBufferSizeInBytes(int, int, int, int, int, int) - Method in class com.google.android.exoplayer2.audio.DefaultAudioTrackBufferSizeProvider
Returns the buffer size for playback at 1x speed.
@@ -14877,12 +15046,12 @@
G
getBufferingState() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
-
getBufferSizeInBytes(int, @com.google.android.exoplayer2.C.Encoding int, @com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int, int, int, double) - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider
+
getBufferSizeInBytes(int, @com.google.android.exoplayer2.C.Encoding int, @com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int, int, int, int, double) - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider
Returns the buffer size to use when creating an
AudioTrack
for a specific format and
output mode.
-
getBufferSizeInBytes(int, @com.google.android.exoplayer2.C.Encoding int, @com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int, int, int, double) - Method in class com.google.android.exoplayer2.audio.DefaultAudioTrackBufferSizeProvider
+
getBufferSizeInBytes(int, @com.google.android.exoplayer2.C.Encoding int, @com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int, int, int, int, double) - Method in class com.google.android.exoplayer2.audio.DefaultAudioTrackBufferSizeProvider
getBuildConfig() - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
@@ -15184,6 +15353,10 @@ G
getConfigurationFormat() - Method in class com.google.android.exoplayer2.transformer.DefaultCodec
+
getConstant(long) - Static method in interface com.google.android.exoplayer2.SimpleBasePlayer.PositionSupplier
+
+Returns an instance that returns a constant value.
+
getContentBufferedPosition() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
getContentBufferedPosition() - Method in class com.google.android.exoplayer2.ForwardingPlayer
@@ -15765,8 +15938,8 @@
G
getDecoderInfosSortedByFormatSupport(List<MediaCodecInfo>, Format) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
-Returns a copy of the provided decoder list sorted such that decoders with format support are
- listed first.
+Returns a copy of the provided decoder list sorted such that decoders with functional format
+ support are listed first.
getDecoderSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int) - Static method in interface com.google.android.exoplayer2.RendererCapabilities
@@ -15934,6 +16107,10 @@ G
Returns whether downloads are currently paused.
+ getDrawable(Context, Resources, int) - Static method in class com.google.android.exoplayer2.util.Util
+
+
+
getDrmUuid(String) - Static method in class com.google.android.exoplayer2.util.Util
Derives a DRM
UUID
from
drmScheme
.
@@ -16147,6 +16324,10 @@ G
Returns an
ExtractorInput
to read from the given input at given position.
+ getExtrapolating(long, float) - Static method in interface com.google.android.exoplayer2.SimpleBasePlayer.PositionSupplier
+
+Returns an instance that extrapolates the provided position into the future.
+
getFallbackSelectionFor(LoadErrorHandlingPolicy.FallbackOptions, LoadErrorHandlingPolicy.LoadErrorInfo) - Method in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
Returns whether a loader should fall back to using another resource on encountering an error,
@@ -16454,6 +16635,8 @@
G
getInitialTimeline() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
getInitialTimeline() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
getInitialTimeline() - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
Deprecated.
@@ -16981,6 +17164,8 @@ G
getMediaItem() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
getMediaItem() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
getMediaItem() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
getMediaItem() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
@@ -17025,7 +17210,7 @@
G
getMediaItemCount() - Method in interface com.google.android.exoplayer2.Player
-
+
getMediaItemIndex() - Method in class com.google.android.exoplayer2.PlayerMessage
@@ -17073,6 +17258,8 @@ G
getMediaPeriodIdForChildMediaPeriodId(MediaSource.MediaPeriodId, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
+
getMediaPeriodIdForChildMediaPeriodId(Integer, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
getMediaPeriodIdForChildMediaPeriodId(Integer, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.MergingMediaSource
getMediaPeriodIdForChildMediaPeriodId(Void, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.WrappingMediaSource
@@ -17526,13 +17713,17 @@
G
Returns the selected track overrides.
+
getPacketDurationUs(byte[]) - Static method in class com.google.android.exoplayer2.audio.OpusUtil
+
+Returns the duration of the given audio packet.
+
getParameters() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
getParameters() - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
Returns the current parameters for track selection.
-
getPassthroughBufferSizeInBytes(@com.google.android.exoplayer2.C.Encoding int) - Method in class com.google.android.exoplayer2.audio.DefaultAudioTrackBufferSizeProvider
+
getPassthroughBufferSizeInBytes(@com.google.android.exoplayer2.C.Encoding int, int) - Method in class com.google.android.exoplayer2.audio.DefaultAudioTrackBufferSizeProvider
Returns the buffer size for passthrough playback.
@@ -17685,6 +17876,11 @@
G
+
getPlaceholderMediaItemData(MediaItem) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
getPlaceholderState(SimpleBasePlayer.State) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
Returns the placeholder state used while a player method is handled asynchronously.
@@ -17749,7 +17945,7 @@ G
getPlaybackState() - Method in interface com.google.android.exoplayer2.Player
-
+
getPlaybackState() - Method in class com.google.android.exoplayer2.SimpleBasePlayer
@@ -19719,6 +19915,8 @@
G
Returns the window index in the composite source corresponding to the specified window index in
a child source.
+
getWindowIndexForChildWindowIndex(Integer, int) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
getWindowIndexForChildWindowIndex(Void, int) - Method in class com.google.android.exoplayer2.source.WrappingMediaSource
getWindowIndexForChildWindowIndex(T, int) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
@@ -19899,6 +20097,10 @@
H
H265SpsData(int, boolean, int, int, int[], int, int, int, int, float) - Constructor for class com.google.android.exoplayer2.util.NalUnitUtil.H265SpsData
+
handleAddMediaItems(int, List<MediaItem>) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
handleBlockAddIDExtraData(MatroskaExtractor.Track, ExtractorInput, int) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
handleBlockAdditionalData(MatroskaExtractor.Track, int, ExtractorInput, int) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
@@ -19920,6 +20122,14 @@
H
handleBuffer(ByteBuffer, long, int) - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
+
handleClearVideoOutput(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+Handles calls to clear the video output.
+
+
handleDecreaseDeviceVolume() - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
handleDiscontinuity() - Method in interface com.google.android.exoplayer2.audio.AudioSink
Signals to the sink that the next buffer may be discontinuous with the previous buffer.
@@ -19930,6 +20140,10 @@ H
handleDiscontinuity() - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
+
handleIncreaseDeviceVolume() - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
handleInputBufferSupplementalData(DecoderInputBuffer) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
Handles supplemental data associated with an input buffer.
@@ -19968,10 +20182,18 @@ H
Handles the message send to the component and additionally provides access to the player.
+ handleMoveMediaItems(int, int, int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
handlePendingSeek(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
Continues to handle the pending seek operation.
+
handlePrepare() - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
handlePrepareComplete(AdsMediaSource, int, int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
handlePrepareComplete(AdsMediaSource, int, int) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
@@ -19984,6 +20206,14 @@
H
Notifies the ads loader that the player was not able to prepare media for a given ad.
+
handleRelease() - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleRemoveMediaItems(int, int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
HandlerWrapper - Interface in com.google.android.exoplayer2.util
An interface to call through to a
Handler
.
@@ -19992,11 +20222,59 @@ H
A message obtained from the handler.
+ handleSeek(int, long, @com.google.android.exoplayer2.Player.Command int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetDeviceMuted(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetDeviceVolume(int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetMediaItems(List<MediaItem>, int, long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetPlaylistMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
handleSetPlayWhenReady(boolean) - Method in class com.google.android.exoplayer2.LegacyMediaPlayerWrapper
handleSetPlayWhenReady(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
-
+
+
+
handleSetRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetTrackSelectionParameters(TrackSelectionParameters) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleSetVideoOutput(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+Handles calls to set the video output.
+
+
handleSetVolume(float) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
+
+
handleStop() - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
HARDWARE_ACCELERATION_NOT_SUPPORTED - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
@@ -20194,6 +20472,10 @@ H
hashCode() - Method in class com.google.android.exoplayer2.SeekParameters
+
hashCode() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+
hashCode() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
hashCode() - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State
hashCode() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
@@ -20420,6 +20702,10 @@
H
Returns whether all ads in the ad group at index adGroupIndex
have been played,
skipped or failed.
+
hasPositionDiscontinuity - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+Signals that a position discontinuity happened since the last update to the player.
+
hasPositiveStartOffset - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
Whether the
HlsMediaPlaylist.startOffsetUs
was explicitly defined by #EXT-X-START as a positive value
@@ -21543,6 +21829,10 @@
I
InternalFrame(String, String, String) - Constructor for class com.google.android.exoplayer2.metadata.id3.InternalFrame
+
intToStringMaxRadix(int) - Static method in class com.google.android.exoplayer2.util.Util
+
+
+
invalidate() - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
Calls
TrackSelector.InvalidationListener.onTrackSelectionsInvalidated()
to invalidate all previously
@@ -21698,6 +21988,10 @@
I
Returns whether the track at the specified index in the selection is excluded.
+
isBrowsable - Variable in class com.google.android.exoplayer2.MediaMetadata
+
+Optional boolean to indicate that the media is a browsable folder.
+
isCached - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
@@ -21858,6 +22152,10 @@ I
+ isDeviceMuted - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+Whether the device is muted.
+
isDeviceMuted() - Method in interface com.google.android.exoplayer2.ExoPlayer.DeviceComponent
Deprecated.
@@ -21886,6 +22184,10 @@
I
isDone() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
+
isDynamic - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+Whether this media item may change over time, for example a moving live window.
+
isDynamic - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
isDynamic - Variable in class com.google.android.exoplayer2.Timeline.Window
@@ -22039,9 +22341,14 @@
I
Returns whether the given flag is set.
+
isFormatFunctionallySupported(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
+
+Returns whether the decoder may functionally support decoding the given format
.
+
isFormatSupported(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
-Returns whether the decoder may support decoding the given format
.
+Returns whether the decoder may support decoding the given format
both functionally and
+ performantly.
isFullyVisible() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
@@ -22154,6 +22461,10 @@ I
isLoadCompleted() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunk
+
isLoading - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+Whether the player is currently loading its source.
+
isLoading() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
isLoading() - Method in class com.google.android.exoplayer2.ForwardingPlayer
@@ -22271,6 +22582,16 @@
I
Returns whether the device can do passthrough playback for format
.
+
isPlaceholder - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+Whether this media item contains placeholder information because the real information has yet
+ to be loaded.
+
+
isPlaceholder - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
+Whether this period contains placeholder information because the real information has yet to
+ be loaded.
+
isPlaceholder - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
isPlaceholder - Variable in class com.google.android.exoplayer2.Timeline.Period
@@ -22285,7 +22606,7 @@
I
isPlayable - Variable in class com.google.android.exoplayer2.MediaMetadata
-Optional boolean for media playability.
+Optional boolean to indicate that the media is playable.
isPlaying() - Method in class com.google.android.exoplayer2.BasePlayer
@@ -22437,6 +22758,10 @@
I
Returns whether the device supports secure placeholder surfaces.
+
isSeekable - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+Whether it's possible to seek within this media item.
+
isSeekable - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
isSeekable - Variable in class com.google.android.exoplayer2.Timeline.Window
@@ -22806,16 +23131,6 @@
K
Key request type for keys that will be used for online use.
-
keyForField(int) - Static method in exception com.google.android.exoplayer2.PlaybackException
-
-
-
-
keyForField(int) - Static method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
-
-
-
KeyRequest(byte[], String) - Constructor for class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
@@ -23151,6 +23466,10 @@ L
The live playback configuration.
+ liveConfiguration - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+
+
liveConfiguration - Variable in class com.google.android.exoplayer2.Timeline.Window
The
MediaItem.LiveConfiguration
that is used or null if
Timeline.Window.isLive()
returns
@@ -23485,6 +23804,10 @@
M
The client manifest major version.
+
manifest - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The manifest of the media item, or null if not applicable.
+
manifest - Variable in class com.google.android.exoplayer2.Timeline.Window
The manifest of the window.
@@ -23604,6 +23927,10 @@ M
Holds data corresponding to a single track.
+ MAX_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.OpusUtil
+
+Maximum achievable Opus bitrate.
+
MAX_DROPPED_VIDEO_FRAME_COUNT_TO_NOTIFY - Static variable in class com.google.android.exoplayer2.DefaultRenderersFactory
@@ -23723,6 +24050,11 @@ M
The maximum time spent during a single rebuffer, in milliseconds, or
C.TIME_UNSET
if no
rebuffer occurred.
+
maxSeekToPreviousPositionMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
maxValue(SparseLongArray) - Static method in class com.google.android.exoplayer2.util.Util
@@ -23955,6 +24287,156 @@ M
A seek to another media item has occurred.
+ MEDIA_TYPE_ALBUM - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_ARTIST - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_AUDIO_BOOK - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_AUDIO_BOOK_CHAPTER - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_ALBUMS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_ARTISTS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_AUDIO_BOOKS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_GENRES - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_MIXED - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_MOVIES - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_NEWS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_PLAYLISTS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_PODCASTS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_RADIO_STATIONS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_TRAILERS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_TV_CHANNELS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_TV_SERIES - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_TV_SHOWS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_VIDEOS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_FOLDER_YEARS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_GENRE - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_MIXED - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+Media of undetermined type or a mix of multiple
media types .
+
+
MEDIA_TYPE_MOVIE - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_MUSIC - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_NEWS - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_PLAYLIST - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_PODCAST - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_PODCAST_EPISODE - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_RADIO_STATION - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_TRAILER - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_TV_CHANNEL - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_TV_SEASON - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_TV_SERIES - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_TV_SHOW - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_VIDEO - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
+
MEDIA_TYPE_YEAR - Static variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
MediaChunk - Class in com.google.android.exoplayer2.source.chunk
An abstract base class for
Chunk
s that contain media samples.
@@ -24105,6 +24587,10 @@ M
The media item, or
null
if the timeline is
empty
.
+ mediaItem - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+
+
mediaItem - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
mediaItem - Variable in class com.google.android.exoplayer2.Timeline.Window
@@ -24221,6 +24707,11 @@
M
The media metadata.
+
mediaMetadata - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The
MediaMetadata
, including static data from the
MediaItem
and the media's
Format
, as well any dynamic metadata that
+ has been parsed from the media.
+
MediaMetadata - Class in com.google.android.exoplayer2
@@ -24233,6 +24724,10 @@ M
The folder type of the media item.
+ MediaMetadata.MediaType - Annotation Type in com.google.android.exoplayer2
+
+The type of content described by the media item.
+
MediaMetadata.PictureType - Annotation Type in com.google.android.exoplayer2
The picture type of the artwork.
@@ -24478,6 +24973,10 @@ M
+ mediaType - Variable in class com.google.android.exoplayer2.MediaMetadata
+
+
+
mediaUri - Variable in class com.google.android.exoplayer2.MediaItem.RequestMetadata
The URI of the requested media, or null if not known or applicable.
@@ -25295,6 +25794,11 @@ N
Returns a newly created placeholder surface.
+ newlyRenderedFirstFrame - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+Whether a frame has been rendered for the first time since setting the surface, a rendering
+ reset, or since the stream being rendered was changed.
+
newMediaChunk(DefaultDashChunkSource.RepresentationHolder, DataSource, @com.google.android.exoplayer2.C.TrackType int, Format, @com.google.android.exoplayer2.C.SelectionReason int, Object, long, int, long, long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
newNoDataInstance() - Static method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
@@ -25718,7 +26222,7 @@
O
onAudioAttributesChanged(AudioAttributes) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when the audio attributes change.
+
onAudioCapabilitiesChanged(AudioCapabilities) - Method in interface com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver.Listener
@@ -25995,6 +26499,8 @@ O
Called when the child source info has been refreshed.
+ onChildSourceInfoRefreshed(Integer, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
onChildSourceInfoRefreshed(Integer, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.MergingMediaSource
onChildSourceInfoRefreshed(Void, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.ext.ima.ImaServerSideAdInsertionMediaSource
@@ -26141,7 +26647,7 @@
O
onCues(CueGroup) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when there is a change in the
CueGroup
.
+
onCues(CueGroup) - Method in interface com.google.android.exoplayer2.text.TextOutput
@@ -26248,7 +26754,7 @@ O
onDeviceVolumeChanged(int, boolean) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when the device volume or mute state changes.
+
onDeviceVolumeChanged(AnalyticsListener.EventTime, int, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
@@ -26813,7 +27319,7 @@ O
onMediaMetadataChanged(MediaMetadata) - Method in interface com.google.android.exoplayer2.Player.Listener
-
+
onMessageArrived() - Method in interface com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget.Callback
@@ -26910,7 +27416,7 @@ O
onPlaybackParametersChanged(PlaybackParameters) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when the current playback parameters change.
+
onPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
@@ -27022,7 +27528,7 @@
O
onPlaylistMetadataChanged(MediaMetadata) - Method in interface com.google.android.exoplayer2.Player.Listener
-
+
onPlayWhenReadyChanged(boolean) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
@@ -27713,7 +28219,7 @@ O
onTimelineChanged(Timeline, @com.google.android.exoplayer2.Player.TimelineChangeReason int) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when the timeline has been refreshed.
+
onTimelineChanged(Timeline, @com.google.android.exoplayer2.Player.TimelineChangeReason int) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
@@ -27739,7 +28245,7 @@
O
onTracksChanged(Tracks) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when the tracks change.
+
onTrackSelectionChanged(boolean, Map<TrackGroup, TrackSelectionOverride>) - Method in interface com.google.android.exoplayer2.ui.TrackSelectionView.TrackSelectionListener
@@ -28046,7 +28552,7 @@ O
onVolumeChanged(float) - Method in interface com.google.android.exoplayer2.Player.Listener
-Called when the volume changes.
+
onVolumeChanged(AnalyticsListener.EventTime, float) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
@@ -28630,6 +29136,10 @@ P
Parses the number of channels from the value attribute of an AudioChannelConfiguration with
schemeIdUri "urn:mpeg:mpegB:cicp:ChannelConfiguration", as defined by ISO 23001-8 clause 8.1.
+
parsePacketAudioSampleCount(ByteBuffer) - Static method in class com.google.android.exoplayer2.audio.OpusUtil
+
+Returns the number of audio samples in the given audio packet.
+
parsePercentage(String) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
Parses a percentage string.
@@ -28702,6 +29212,10 @@ P
parseText(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
+
parseTileCountFromProperties(List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
+
+Parses given descriptors for thumbnail tile information.
+
parseTimestampUs(String) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
Parses a WebVTT timestamp.
@@ -28954,6 +29468,11 @@ P
The period index.
+ periods - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The list of
periods in this media item, or an empty list to assume a
+ single period without ads and the same duration as the media item.
+
periodUid - Variable in class com.google.android.exoplayer2.Player.PositionInfo
The UID of the period, or
null
if the timeline is
empty
.
@@ -29264,6 +29783,10 @@ P
Class to capture output from a playback test.
+ playbackParameters - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
PlaybackParameters - Class in com.google.android.exoplayer2
Parameters that apply to playback, including speed setting.
@@ -29298,6 +29821,10 @@ P
The playback state that became active.
+ playbackState - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
playbackStateHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
The playback state history as
EventTimeAndPlaybackStates
@@ -29332,6 +29859,10 @@
P
+
playbackSuppressionReason - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
playbackType - Variable in class com.google.android.exoplayer2.DeviceInfo
The type of playback.
@@ -29354,11 +29885,12 @@ P
Player.Command - Annotation Type in com.google.android.exoplayer2
-Commands that can be executed on a Player
.
+Commands that indicate which method calls are currently permitted on a particular
+ Player
instance.
Player.Commands - Class in com.google.android.exoplayer2
-
+
Player.Commands.Builder - Class in com.google.android.exoplayer2
@@ -29374,11 +29906,11 @@ P
Player.Events - Class in com.google.android.exoplayer2
-
+
Player.Listener - Interface in com.google.android.exoplayer2
-Listener of all changes in the Player.
+Listener for changes in a
Player
.
Player.MediaItemTransitionReason - Annotation Type in com.google.android.exoplayer2
@@ -29442,6 +29974,10 @@ P
Handles emsg messages for a specific track for the player.
+ playerError - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The last error that caused playback to fail, or null if there was no error.
+
PlayerId - Class in com.google.android.exoplayer2.analytics
Identifier for a player instance.
@@ -29531,12 +30067,20 @@ P
Deprecated.
Determines when the buffering view is shown.
+
playlist - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The media items in the playlist.
+
PLAYLIST_TYPE_EVENT - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
PLAYLIST_TYPE_UNKNOWN - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
PLAYLIST_TYPE_VOD - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
+
playlistMetadata - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
PlaylistResetException(Uri) - Constructor for exception com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistResetException
Creates an instance.
@@ -29646,10 +30190,14 @@ P
populateMediaMetadata(MediaMetadata.Builder) - Method in class com.google.android.exoplayer2.metadata.id3.ApicFrame
populateMediaMetadata(MediaMetadata.Builder) - Method in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
-
+
+
+
populateMediaMetadata(MediaMetadata.Builder) - Method in interface com.google.android.exoplayer2.metadata.Metadata.Entry
-
+
position - Variable in class com.google.android.exoplayer2.extractor.PositionHolder
@@ -29710,12 +30258,21 @@ P
+ positionDiscontinuityReason - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The
reason for the last position discontinuity.
+
PositionHolder - Class in com.google.android.exoplayer2.extractor
Holds a position in the stream.
PositionHolder() - Constructor for class com.google.android.exoplayer2.extractor.PositionHolder
+
positionInFirstPeriodUs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The position of the start of this media item relative to the start of the first period
+ belonging to it, in microseconds.
+
positionInFirstPeriodUs - Variable in class com.google.android.exoplayer2.Timeline.Window
The position of the start of this window relative to the start of the first period belonging
@@ -29951,6 +30508,8 @@
P
prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
@@ -29985,6 +30544,10 @@
P
Strategies controlling the layout of input pixels in the output frame.
+
presentationStartTimeMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The start time of the live presentation, in milliseconds since the Unix epoch, or
C.TIME_UNSET
if unknown or not applicable.
+
presentationStartTimeMs - Variable in class com.google.android.exoplayer2.Timeline.Window
The start time of the presentation to which this window belongs in milliseconds since the
@@ -30816,7 +31379,11 @@
R
readLine() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
-Reads a line of text.
+Reads a line of text in UTF-8.
+
+
readLine(Charset) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
+
+Reads a line of text in charset
.
readLittleEndianInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
@@ -30944,6 +31511,10 @@ R
Reads a long value encoded by UTF-8 encoding
+ readUtfCharsetFromBom() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
+
+Reads a UTF byte order mark (BOM) and returns the UTF
Charset
it represents.
+
readVorbisCommentHeader(ParsableByteArray) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
Reads a Vorbis comment header.
@@ -31530,6 +32101,8 @@ R
releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
@@ -31592,6 +32165,8 @@
R
releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
+
releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2
+
releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
@@ -31660,7 +32235,7 @@
R
removeAll(@com.google.android.exoplayer2.Player.Command int...) - Method in class com.google.android.exoplayer2.Player.Commands.Builder
-
+
removeAll(int...) - Method in class com.google.android.exoplayer2.util.FlagSet.Builder
@@ -32110,9 +32685,9 @@ R
"Repeat One" button enabled.
- repeatCurrentMediaItem() - Method in class com.google.android.exoplayer2.BasePlayer
+
repeatMode - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
-Repeat the current media item.
+
RepeatModeActionProvider - Class in com.google.android.exoplayer2.ext.mediasession
@@ -32989,6 +33564,11 @@ R
Runs tasks of the main
Looper
until a player error occurs.
+ runUntilIsLoading(Player, boolean) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
+
+
+
runUntilPendingCommandsAreFullyHandled(ExoPlayer) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
Runs tasks of the main
Looper
until the player completely handled all previously issued
@@ -33487,6 +34067,10 @@
S
+
seekBackIncrementMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
seekForward() - Method in class com.google.android.exoplayer2.BasePlayer
seekForward() - Method in class com.google.android.exoplayer2.ForwardingPlayer
@@ -33498,6 +34082,10 @@
S
+
seekForwardIncrementMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
seekMap - Variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
seekMap - Variable in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
@@ -33558,7 +34146,7 @@
S
Attempts to seek the read position to the specified sample index.
-
seekTo(int, long) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
+
seekTo(int, long) - Method in class com.google.android.exoplayer2.BasePlayer
seekTo(int, long) - Method in class com.google.android.exoplayer2.ForwardingPlayer
@@ -33568,13 +34156,19 @@ S
Seeks to a position specified in milliseconds in the specified
MediaItem
.
- seekTo(int, long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
seekTo(int, long, @com.google.android.exoplayer2.Player.Command int, boolean) - Method in class com.google.android.exoplayer2.BasePlayer
+
+Seeks to a position in the specified
MediaItem
.
+
+
seekTo(int, long, @com.google.android.exoplayer2.Player.Command int, boolean) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
+
+
seekTo(int, long, @com.google.android.exoplayer2.Player.Command int, boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
-
seekTo(int, long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
+
seekTo(int, long, @com.google.android.exoplayer2.Player.Command int, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
-
seekTo(int, long) - Method in class com.google.android.exoplayer2.testutil.StubPlayer
+
seekTo(int, long, @com.google.android.exoplayer2.Player.Command int, boolean) - Method in class com.google.android.exoplayer2.testutil.StubPlayer
seekTo(long) - Method in class com.google.android.exoplayer2.BasePlayer
@@ -34238,6 +34832,11 @@
S
+
setAdBufferedPositionMs(SimpleBasePlayer.PositionSupplier) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setAdErrorListener(AdErrorEvent.AdErrorListener) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
Sets a listener for ad errors that will be passed to
AdsLoader.addAdErrorListener(AdErrorListener)
and
@@ -34269,10 +34868,22 @@
S
Sets the MIME types to prioritize for linear ad media.
+
setAdPlaybackState(AdPlaybackState) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData.Builder
+
+
+
setAdPlaybackStates(ImmutableMap<Object, AdPlaybackState>) - Method in class com.google.android.exoplayer2.source.ads.ServerSideAdInsertionMediaSource
+
setAdPositionMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current ad playback position in milliseconds.
+
+
setAdPositionMs(SimpleBasePlayer.PositionSupplier) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setAdPreloadTimeoutMs(long) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
Sets the duration in milliseconds for which the player must buffer while preloading an ad
@@ -34557,6 +35168,10 @@
S
setAudioAttributes(AudioAttributes) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
+
setAudioAttributes(AudioAttributes) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setAudioAttributes(AudioAttributes) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
setAudioAttributes(AudioAttributes) - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
@@ -34986,6 +35601,11 @@
S
Sets the content of the output buffer, consisting of a
Subtitle
and associated
metadata.
+
setContentBufferedPositionMs(SimpleBasePlayer.PositionSupplier) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setContentLength(long) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
setContentLength(ContentMetadataMutations, long) - Static method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
@@ -34993,6 +35613,15 @@
S
+
setContentPositionMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current content playback position in milliseconds.
+
+
setContentPositionMs(SimpleBasePlayer.PositionSupplier) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setContentSourceId(String) - Method in class com.google.android.exoplayer2.ext.ima.ImaServerSideAdInsertionUriBuilder
The stream request content source ID used for on-demand streams.
@@ -35116,6 +35745,18 @@ S
Sets the cues to be displayed by the view.
+ setCurrentAd(int, int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current ad indices, or
C.INDEX_UNSET
if no ad is playing.
+
+
setCurrentCues(CueGroup) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
+
setCurrentMediaItemIndex(int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current media item index.
+
setCurrentPosition(long) - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
Sets the absolute position in the resource from which the wrapped
DataReader
reads.
@@ -35241,6 +35882,11 @@ S
Sets the default artwork to display if useArtwork
is true
and no artwork is
present in the media.
+
setDefaultPositionUs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the default position relative to the start of the media item at which to begin
+ playback, in microseconds.
+
setDefaultRequestProperties(Map<String, String>) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
setDefaultRequestProperties(Map<String, String>) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
@@ -35283,6 +35929,10 @@
S
Sets an optional, detailed reason that the view is on top of the player.
+
setDeviceInfo(DeviceInfo) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setDeviceMuted(boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer.DeviceComponent
Deprecated.
@@ -35329,6 +35979,10 @@
S
setDeviceVolume(int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
setDeviceVolume(int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current device volume.
+
setDeviceVolume(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -35510,10 +36164,23 @@ S
Sets the duration of the video in milliseconds.
+ setDurationUs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the duration of the media item, in microseconds.
+
+
setDurationUs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData.Builder
+
+Sets the total duration of the period, in microseconds, or
C.TIME_UNSET
if unknown.
+
setDurationUs(long) - Method in class com.google.android.exoplayer2.source.SilenceMediaSource.Factory
Sets the duration of the silent audio.
+
setElapsedRealtimeEpochOffsetMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+
+
setEnableAudioFloatOutput(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
Sets whether floating point audio should be output when possible.
@@ -35799,6 +36466,10 @@ S
Sets whether to focus the skip button (when available) on Android TV devices.
+ setFocusSkipButtonWhenAvailable(boolean) - Method in class com.google.android.exoplayer2.ext.ima.ImaServerSideAdInsertionMediaSource.AdsLoader.Builder
+
+Sets whether to focus the skip button (when available) on Android TV devices.
+
setFolderType(Integer) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
@@ -36068,16 +36739,46 @@ S
Sets an int
type uniform.
+ setIsBrowsable(Boolean) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
+
+Sets whether the media is a browsable folder.
+
+
setIsDeviceMuted(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets whether the device is muted.
+
setIsDisabled(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
Sets whether the selection is initially shown as disabled.
+
setIsDynamic(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets whether this media item may change over time, for example a moving live window.
+
+
setIsLoading(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets whether the player is currently loading its source.
+
setIsNetwork(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
+
setIsPlaceholder(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets whether this media item contains placeholder information because the real information
+ has yet to be loaded.
+
+
setIsPlaceholder(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData.Builder
+
+Sets whether this period contains placeholder information because the real information has
+ yet to be loaded
+
setIsPlayable(Boolean) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
Sets whether the media is playable.
+
setIsSeekable(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets whether it's possible to seek within this media item.
+
setItalic(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
setKeepContentOnPlayerReset(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
@@ -36243,6 +36944,10 @@
S
+
setLiveConfiguration(MediaItem.LiveConfiguration) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+
+
setLiveMaxOffsetMs(long) - Method in class com.google.android.exoplayer2.MediaItem.Builder
Deprecated.
@@ -36403,6 +37108,10 @@
S
Sets the
Looper
that must be used for all calls to the transformer and that is used
to call listeners on.
+
setManifest(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the manifest of the media item.
+
setManifest(Object) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
@@ -36485,6 +37194,11 @@ S
Sets the maximum playback speed.
+ setMaxSeekToPreviousPositionMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setMaxVideoBitrate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters.Builder
setMaxVideoBitrate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
@@ -36553,6 +37267,14 @@
S
Clears the playlist, adds the specified
MediaItem
and resets the position to the
default position.
+
setMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+
+
+
setMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+Sets the
MediaItem
to be used for the concatenated media source.
+
setMediaItem(MediaItem, boolean) - Method in class com.google.android.exoplayer2.BasePlayer
setMediaItem(MediaItem, boolean) - Method in class com.google.android.exoplayer2.ForwardingPlayer
@@ -36585,8 +37307,8 @@
S
setMediaItems(List<MediaItem>) - Method in interface com.google.android.exoplayer2.Player
-Clears the playlist, adds the specified
MediaItems
and resets the position to
- the default position.
+Clears the playlist, adds the specified
media items and resets the
+ position to the default position.
setMediaItems(List<MediaItem>, boolean) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
@@ -36596,7 +37318,7 @@
S
setMediaItems(List<MediaItem>, boolean) - Method in interface com.google.android.exoplayer2.Player
-Clears the playlist and adds the specified
MediaItems
.
+Clears the playlist and adds the specified
media items .
setMediaItems(List<MediaItem>, boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
@@ -36614,7 +37336,7 @@
S
setMediaItems(List<MediaItem>, int, long) - Method in interface com.google.android.exoplayer2.Player
-Clears the playlist and adds the specified
MediaItems
.
+Clears the playlist and adds the specified
media items .
setMediaItems(List<MediaItem>, int, long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
@@ -36636,6 +37358,10 @@
S
Sets the media metadata.
+
setMediaMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+
+
setMediaMetadataProvider(MediaSessionConnector.MediaMetadataProvider) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
Sets a provider of metadata to be published to the media session.
@@ -36689,6 +37415,11 @@ S
+
setMediaSourceFactory(MediaSource.Factory) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+
+
setMediaSourceFactory(MediaSource.Factory) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
@@ -36744,6 +37475,10 @@ S
setMediaSources(List<MediaSource>, int, long) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
+
setMediaType(Integer) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
+
+
+
setMediaUri(Uri) - Method in class com.google.android.exoplayer2.MediaItem.RequestMetadata.Builder
Sets the URI of the requested media, or null if not known or applicable.
@@ -36870,6 +37605,11 @@ S
Overrides the network type.
+ setNewlyRenderedFirstFrame(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets whether a frame has been rendered for the first time since setting the surface, a
+ rendering reset, or since the stream being rendered was changed.
+
setNewSourceInfo(Timeline) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
Sets a new timeline.
@@ -37117,6 +37857,10 @@ S
setPercentDownloaded(float) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
+
setPeriods(List<SimpleBasePlayer.PeriodData>) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the list of
periods in this media item.
+
setPitch(float) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
Sets the target playback pitch.
@@ -37133,6 +37877,10 @@ S
Sets whether to play an ad before the start position when beginning playback.
+ setPlaybackLooper(Looper) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
+
+Sets the
Looper
that will be used for playback.
+
setPlaybackParameters(PlaybackParameters) - Method in interface com.google.android.exoplayer2.audio.AudioSink
Attempts to set the playback parameters.
@@ -37157,6 +37905,10 @@ S
setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -37201,6 +37953,14 @@ S
setPlaybackSpeed(float, float) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
+
setPlaybackState(@com.google.android.exoplayer2.Player.State int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the
state of the player.
+
+
setPlaybackSuppressionReason(@com.google.android.exoplayer2.Player.PlaybackSuppressionReason int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setPlayClearContentWithoutKey(boolean) - Method in class com.google.android.exoplayer2.MediaItem.DrmConfiguration.Builder
Sets whether clear samples within protected content should be played when keys for the
@@ -37266,6 +38026,10 @@
S
setPlayer(Player, Looper) - Method in class com.google.android.exoplayer2.analytics.DefaultAnalyticsCollector
+
setPlayerError(PlaybackException) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets last error that caused playback to fail, or null if there was no error.
+
setPlayerId(PlayerId) - Method in interface com.google.android.exoplayer2.audio.AudioSink
Sets the
PlayerId
of the player using this audio sink.
@@ -37285,6 +38049,10 @@ S
setPlaylist(List<MediaItem>, MediaMetadata) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
+
setPlaylist(List<SimpleBasePlayer.MediaItemData>) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setPlaylistMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
This method is not supported and does nothing.
@@ -37299,6 +38067,10 @@ S
setPlaylistMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
setPlaylistMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setPlaylistMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -37380,6 +38152,16 @@ S
Sets the cue box anchor positioned by
position
.
+ setPositionDiscontinuity(@com.google.android.exoplayer2.Player.DiscontinuityReason int, long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Signals that a position discontinuity happened since the last player update and sets the
+ reason for it.
+
+
setPositionInFirstPeriodUs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the position of the start of this media item relative to the start of the first period
+ belonging to it, in microseconds.
+
setPositionUs(long) - Method in class com.google.android.exoplayer2.text.ExoplayerCuesDecoder
setPositionUs(long) - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
@@ -37539,6 +38321,10 @@
S
Sets a listener for preparation events.
+
setPresentationStartTimeMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the start time of the live presentation.
+
setPreviousActionIconResourceId(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager.Builder
@@ -37751,6 +38537,12 @@ S
+ setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
+
setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setRepeatMode(@com.google.android.exoplayer2.Player.RepeatMode int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -37763,8 +38555,6 @@ S
setRepeatMode(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
-
setRepeatMode(int) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
-
SetRepeatMode(String, @com.google.android.exoplayer2.Player.RepeatMode int) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetRepeatMode
setRepeatToggleModes(@com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
@@ -37931,6 +38721,10 @@
S
+
setSeekBackIncrementMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setSeekBackIncrementMs(long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
Deprecated.
@@ -37945,6 +38739,10 @@
S
+
setSeekForwardIncrementMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setSeekForwardIncrementMs(long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
Deprecated.
@@ -38206,6 +39004,10 @@
S
setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets whether shuffling of media items is enabled.
+
setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -38436,6 +39238,10 @@ S
+
setSurfaceSize(Size) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the size of the surface onto which the video is being rendered.
+
setTag(Object) - Method in class com.google.android.exoplayer2.MediaItem.Builder
Sets the optional tag for custom attributes.
@@ -38495,6 +39301,26 @@ S
Sets the resource ID of the theme used to inflate this dialog.
+ setThrowsWhenUsingWrongThread(boolean) - Method in class com.google.android.exoplayer2.analytics.DefaultAnalyticsCollector
+
+Deprecated.
+
+
+
+
setThrowsWhenUsingWrongThread(boolean) - Method in class com.google.android.exoplayer2.util.ListenerSet
+
+Deprecated.
+
+
+
+
setTileCountHorizontal(int) - Method in class com.google.android.exoplayer2.Format.Builder
+
+
+
+
setTileCountVertical(int) - Method in class com.google.android.exoplayer2.Format.Builder
+
+
+
setTimeBarMinUpdateInterval(int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
Sets the minimum interval between time bar position updates.
@@ -38503,6 +39329,10 @@ S
Sets the minimum interval between time bar position updates.
+ setTimedMetadata(Metadata) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setTimeline(Timeline) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
@@ -38527,6 +39357,11 @@ S
Sets the input matrix
to an identity matrix.
+ setTotalBufferedDurationMs(SimpleBasePlayer.PositionSupplier) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setTotalDiscCount(Integer) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
Sets the total number of discs.
@@ -38562,6 +39397,10 @@ S
Sets the track number.
+ setTracks(Tracks) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the
Tracks
of this media item.
+
setTrackSelectionParameters(TrackSelectionParameters) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
setTrackSelectionParameters(TrackSelectionParameters) - Method in class com.google.android.exoplayer2.ForwardingPlayer
@@ -38574,6 +39413,10 @@
S
setTrackSelectionParameters(TrackSelectionParameters) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
setTrackSelectionParameters(TrackSelectionParameters) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+
+
setTrackSelectionParameters(TrackSelectionParameters) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -38653,6 +39496,11 @@ S
Sets the number of bytes searched to find a timestamp for
TsExtractor
instances created
by the factory.
+
setTsSubtitleFormats(List<Format>) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
+
+
+
setTunnelingEnabled(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters.Builder
Sets whether to enable tunneling if possible.
@@ -38666,6 +39514,14 @@ S
+ setUid(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the unique identifier of this media item within a playlist.
+
+
setUid(Object) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData.Builder
+
+Sets the unique identifier of the period within its media item.
+
setUnderline(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
setUnplayedColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
@@ -38974,6 +39830,10 @@
S
setVideoScalingMode(int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
+
setVideoSize(VideoSize) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current video size.
+
setVideoSurface() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
Schedules a set video surface action.
@@ -39155,6 +40015,11 @@ S
setVolume(float) - Method in class com.google.android.exoplayer2.SimpleBasePlayer
+
setVolume(float) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.State.Builder
+
+Sets the current audio volume, with 0 being silence and 1 being unity gain (signal
+ unchanged).
+
setVolume(float) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
Deprecated.
@@ -39197,6 +40062,10 @@ S
Sets the fill color of the window.
+ setWindowStartTimeMs(long) - Method in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData.Builder
+
+Sets the start time of the live window.
+
setWriter(CharSequence) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
Sets the writer.
@@ -39360,6 +40229,10 @@ S
Shows the scrubber handle with animation.
+ shuffleModeEnabled - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+Whether shuffling of media items is enabled.
+
ShuffleOrder - Interface in com.google.android.exoplayer2.source
Shuffled order of indices.
@@ -39428,6 +40301,28 @@ S
Creates the base class.
+ SimpleBasePlayer.MediaItemData - Class in com.google.android.exoplayer2
+
+An immutable description of an item in the playlist, containing both static setup information
+ like
MediaItem
and dynamic data that is generally read from the media like the
+ duration.
+
+
SimpleBasePlayer.MediaItemData.Builder - Class in com.google.android.exoplayer2
+
+
+
+
SimpleBasePlayer.PeriodData - Class in com.google.android.exoplayer2
+
+
+
+
SimpleBasePlayer.PeriodData.Builder - Class in com.google.android.exoplayer2
+
+
+
+
SimpleBasePlayer.PositionSupplier - Interface in com.google.android.exoplayer2
+
+A supplier for a position.
+
SimpleBasePlayer.State - Class in com.google.android.exoplayer2
An immutable state description of the player.
@@ -41042,6 +41937,10 @@ S
Creates a new instance.
+ surfaceSize - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The size of the surface onto which the video is being rendered.
+
svcTemporalLayerCount - Variable in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
The number of layers in the SVC extended frames.
@@ -41230,6 +42129,13 @@ T
Text information ID3 frame.
TextInformationFrame(String, String, String) - Constructor for class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
+
+Deprecated.
+
+
+
+
TextInformationFrame(String, String, List<String>) - Constructor for class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
TextOutput - Interface in com.google.android.exoplayer2.text
@@ -41289,6 +42195,14 @@ T
Creates a rated instance.
+ tileCountHorizontal - Variable in class com.google.android.exoplayer2.Format
+
+The number of horizontal tiles in an image, or
Format.NO_VALUE
if not known or applicable.
+
+
tileCountVertical - Variable in class com.google.android.exoplayer2.Format
+
+The number of vertical tiles in an image, or
Format.NO_VALUE
if not known or applicable.
+
TIME_END_OF_SOURCE - Static variable in class com.google.android.exoplayer2.C
Special constant representing a time corresponding to the end of a source.
@@ -41306,6 +42220,10 @@ T
Listener for scrubbing events.
+ timedMetadata - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The most recent timed metadata.
+
TimedValueQueue <V > - Class in com.google.android.exoplayer2.util
A utility class to keep a queue of values with timestamps.
@@ -41324,6 +42242,10 @@ T
The
Timeline
in which the seek was attempted.
+ timeline - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
timeline - Variable in class com.google.android.exoplayer2.source.ForwardingTimeline
Timeline - Class in com.google.android.exoplayer2
@@ -41643,7 +42565,11 @@
T
Returns a
Bundle
representing the information stored in this object.
-
toBundle(boolean) - Method in class com.google.android.exoplayer2.Timeline
+
toBundle(boolean, boolean) - Method in class com.google.android.exoplayer2.Player.PositionInfo
+
+Returns a
Bundle
representing the information stored in this object, filtered by
+ available commands.
+
toBundleArrayList(Collection<T>) - Static method in class com.google.android.exoplayer2.util.BundleableUtil
Converts a collection of
Bundleable
to an
ArrayList
of
Bundle
so that
@@ -41658,6 +42584,10 @@
T
+
toBundleWithOneWindowOnly(int) - Method in class com.google.android.exoplayer2.Timeline
+
+
+
toByteArray(InputStream) - Static method in class com.google.android.exoplayer2.util.Util
Converts the entirety of an
InputStream
to a byte array.
@@ -41842,6 +42772,10 @@ T
+
totalBufferedDurationMsSupplier - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
totalDiscCount - Variable in class com.google.android.exoplayer2.MediaMetadata
Optional total number of discs.
@@ -42070,6 +43004,10 @@ T
trackOutputs - Variable in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
+
tracks - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The
Tracks
of this media item.
+
tracks - Variable in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
@@ -42149,6 +43087,10 @@ T
Constructs an instance to force trackIndices
in trackGroup
to be selected.
+ trackSelectionParameters - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+
+
TrackSelectionParameters - Class in com.google.android.exoplayer2.trackselection
Parameters for controlling track selection.
@@ -42678,6 +43620,14 @@ U
Creates a UdpDataSourceException
.
+ uid - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The unique identifier of this media item.
+
+
uid - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.PeriodData
+
+The unique identifier of the period within its media item.
+
uid - Variable in class com.google.android.exoplayer2.Timeline.Period
A unique identifier for the period.
@@ -43099,6 +44049,10 @@ U
useBoundedDataSpecFor(String) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
+
useDefaultMediaSourceFactory(Context) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource2.Builder
+
+
+
USER_DATA_IDENTIFIER_GA94 - Static variable in class com.google.android.exoplayer2.extractor.CeaUtil
USER_DATA_TYPE_CODE_MPEG_CC - Static variable in class com.google.android.exoplayer2.extractor.CeaUtil
@@ -43211,7 +44165,11 @@
V
The value.
value - Variable in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
-
+
+Deprecated.
+
+
+
value - Variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
The payload.
@@ -43226,6 +44184,10 @@ V
value - Variable in class com.google.android.exoplayer2.source.dash.manifest.UtcTimingElement
+
values - Variable in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
+
+The text values of this frame.
+
variableDefinitions - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMultivariantPlaylist
Contains variable definitions, as defined by the #EXT-X-DEFINE tag.
@@ -43489,6 +44451,10 @@ V
The size of the video data, in bytes.
+ videoSize - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The current video size.
+
VideoSize - Class in com.google.android.exoplayer2.video
Represents the video size.
@@ -43533,6 +44499,10 @@ V
Viewport width in pixels.
+ volume - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.State
+
+The current audio volume, with 0 being silence and 1 being unity gain (signal unchanged).
+
VorbisBitArray - Class in com.google.android.exoplayer2.extractor
Wraps a byte array, providing methods that allow it to be read as a Vorbis bitstream.
@@ -43877,6 +44847,10 @@ W
The sequence number of the window in the buffered sequence of windows this media period is part
of.
+
windowStartTimeMs - Variable in class com.google.android.exoplayer2.SimpleBasePlayer.MediaItemData
+
+The start time of the live window, in milliseconds since the Unix epoch, or
C.TIME_UNSET
if unknown or not applicable.
+
windowStartTimeMs - Variable in class com.google.android.exoplayer2.Timeline.Window
+
+
+
+Z
+
+ZERO - Static variable in interface com.google.android.exoplayer2.SimpleBasePlayer.PositionSupplier
+
+An instance returning a constant position of zero.
+
+ZERO - Static variable in class com.google.android.exoplayer2.util.Size
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Y Z All Classes All Packages
diff --git a/docs/doc/reference/jquery/jszip/dist/jszip.js b/docs/doc/reference/jquery/jszip/dist/jszip.js
index e53c056b262..9f0ffc1d8ca 100644
--- a/docs/doc/reference/jquery/jszip/dist/jszip.js
+++ b/docs/doc/reference/jquery/jszip/dist/jszip.js
@@ -1,6 +1,6 @@
/*!
-JSZip v3.2.1 - A JavaScript class for generating and reading zip files
+JSZip v3.7.1 - A JavaScript class for generating and reading zip files
(c) 2009-2016 Stuart Knightley
@@ -123,7 +123,6 @@ exports.decode = function(input) {
var external = require("./external");
var DataWorker = require('./stream/DataWorker');
-var DataLengthProbe = require('./stream/DataLengthProbe');
var Crc32Probe = require('./stream/Crc32Probe');
var DataLengthProbe = require('./stream/DataLengthProbe');
@@ -149,14 +148,14 @@ CompressedObject.prototype = {
* Create a worker to get the uncompressed content.
* @return {GenericWorker} the worker.
*/
- getContentWorker : function () {
+ getContentWorker: function () {
var worker = new DataWorker(external.Promise.resolve(this.compressedContent))
- .pipe(this.compression.uncompressWorker())
- .pipe(new DataLengthProbe("data_length"));
+ .pipe(this.compression.uncompressWorker())
+ .pipe(new DataLengthProbe("data_length"));
var that = this;
worker.on("end", function () {
- if(this.streamInfo['data_length'] !== that.uncompressedSize) {
+ if (this.streamInfo['data_length'] !== that.uncompressedSize) {
throw new Error("Bug : uncompressed data size mismatch");
}
});
@@ -166,19 +165,19 @@ CompressedObject.prototype = {
* Create a worker to get the compressed content.
* @return {GenericWorker} the worker.
*/
- getCompressedWorker : function () {
+ getCompressedWorker: function () {
return new DataWorker(external.Promise.resolve(this.compressedContent))
- .withStreamInfo("compressedSize", this.compressedSize)
- .withStreamInfo("uncompressedSize", this.uncompressedSize)
- .withStreamInfo("crc32", this.crc32)
- .withStreamInfo("compression", this.compression)
- ;
+ .withStreamInfo("compressedSize", this.compressedSize)
+ .withStreamInfo("uncompressedSize", this.uncompressedSize)
+ .withStreamInfo("crc32", this.crc32)
+ .withStreamInfo("compression", this.compression)
+ ;
}
};
/**
* Chain the given worker with other workers to compress the content with the
- * given compresion.
+ * given compression.
* @param {GenericWorker} uncompressedWorker the worker to pipe.
* @param {Object} compression the compression object.
* @param {Object} compressionOptions the options to use when compressing.
@@ -186,11 +185,11 @@ CompressedObject.prototype = {
*/
CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) {
return uncompressedWorker
- .pipe(new Crc32Probe())
- .pipe(new DataLengthProbe("uncompressedSize"))
- .pipe(compression.compressWorker(compressionOptions))
- .pipe(new DataLengthProbe("compressedSize"))
- .withStreamInfo("compression", compression);
+ .pipe(new Crc32Probe())
+ .pipe(new DataLengthProbe("uncompressedSize"))
+ .pipe(compression.compressWorker(compressionOptions))
+ .pipe(new DataLengthProbe("compressedSize"))
+ .withStreamInfo("compression", compression);
};
module.exports = CompressedObject;
@@ -484,7 +483,7 @@ var generateDosExternalFileAttr = function (dosPermissions, isDir) {
/**
* Generate the various parts used in the construction of the final zip file.
- * @param {Object} streamInfo the hash with informations about the compressed file.
+ * @param {Object} streamInfo the hash with information about the compressed file.
* @param {Boolean} streamedContent is the content streamed ?
* @param {Boolean} streamingEnded is the stream finished ?
* @param {number} offset the current offset from the start of the zip file.
@@ -707,7 +706,7 @@ var generateCentralDirectoryEnd = function (entriesCount, centralDirLength, loca
/**
* Generate data descriptors for a file entry.
- * @param {Object} streamInfo the hash generated by a worker, containing informations
+ * @param {Object} streamInfo the hash generated by a worker, containing information
* on the file entry.
* @return {String} the data descriptors.
*/
@@ -759,7 +758,7 @@ function ZipFileWorker(streamFiles, comment, platform, encodeFileName) {
// The total number of entries in this zip file.
this.entriesCount = 0;
// the name of the file currently being added, null when handling the end of the zip file.
- // Used for the emited metadata.
+ // Used for the emitted metadata.
this.currentFile = null;
@@ -1034,7 +1033,10 @@ function JSZip() {
// "folder/" : {...},
// "folder/data.txt" : {...}
// }
- this.files = {};
+ // NOTE: we use a null prototype because we do not
+ // want filenames like "toString" coming from a zip file
+ // to overwrite methods and attributes in a normal Object.
+ this.files = Object.create(null);
this.comment = null;
@@ -1057,7 +1059,7 @@ JSZip.defaults = require('./defaults');
// TODO find a better way to handle this version,
// a require('package.json').version doesn't work with webpack, see #327
-JSZip.version = "3.2.0";
+JSZip.version = "3.7.1";
JSZip.loadAsync = function (content, options) {
return new JSZip().loadAsync(content, options);
@@ -1071,7 +1073,6 @@ module.exports = JSZip;
var utils = require('./utils');
var external = require("./external");
var utf8 = require('./utf8');
-var utils = require('./utils');
var ZipEntries = require('./zipEntries');
var Crc32Probe = require('./stream/Crc32Probe');
var nodejsUtils = require("./nodejsUtils");
@@ -1087,18 +1088,18 @@ function checkEntryCRC32(zipEntry) {
worker.on("error", function (e) {
reject(e);
})
- .on("end", function () {
- if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {
- reject(new Error("Corrupted zip : CRC32 mismatch"));
- } else {
- resolve();
- }
- })
- .resume();
+ .on("end", function () {
+ if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {
+ reject(new Error("Corrupted zip : CRC32 mismatch"));
+ } else {
+ resolve();
+ }
+ })
+ .resume();
});
}
-module.exports = function(data, options) {
+module.exports = function (data, options) {
var zip = this;
options = utils.extend(options || {}, {
base64: false,
@@ -1113,41 +1114,41 @@ module.exports = function(data, options) {
}
return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64)
- .then(function(data) {
- var zipEntries = new ZipEntries(options);
- zipEntries.load(data);
- return zipEntries;
- }).then(function checkCRC32(zipEntries) {
- var promises = [external.Promise.resolve(zipEntries)];
- var files = zipEntries.files;
- if (options.checkCRC32) {
+ .then(function (data) {
+ var zipEntries = new ZipEntries(options);
+ zipEntries.load(data);
+ return zipEntries;
+ }).then(function checkCRC32(zipEntries) {
+ var promises = [external.Promise.resolve(zipEntries)];
+ var files = zipEntries.files;
+ if (options.checkCRC32) {
+ for (var i = 0; i < files.length; i++) {
+ promises.push(checkEntryCRC32(files[i]));
+ }
+ }
+ return external.Promise.all(promises);
+ }).then(function addFiles(results) {
+ var zipEntries = results.shift();
+ var files = zipEntries.files;
for (var i = 0; i < files.length; i++) {
- promises.push(checkEntryCRC32(files[i]));
+ var input = files[i];
+ zip.file(input.fileNameStr, input.decompressed, {
+ binary: true,
+ optimizedBinaryString: true,
+ date: input.date,
+ dir: input.dir,
+ comment: input.fileCommentStr.length ? input.fileCommentStr : null,
+ unixPermissions: input.unixPermissions,
+ dosPermissions: input.dosPermissions,
+ createFolders: options.createFolders
+ });
+ }
+ if (zipEntries.zipComment.length) {
+ zip.comment = zipEntries.zipComment;
}
- }
- return external.Promise.all(promises);
- }).then(function addFiles(results) {
- var zipEntries = results.shift();
- var files = zipEntries.files;
- for (var i = 0; i < files.length; i++) {
- var input = files[i];
- zip.file(input.fileNameStr, input.decompressed, {
- binary: true,
- optimizedBinaryString: true,
- date: input.date,
- dir: input.dir,
- comment : input.fileCommentStr.length ? input.fileCommentStr : null,
- unixPermissions : input.unixPermissions,
- dosPermissions : input.dosPermissions,
- createFolders: options.createFolders
- });
- }
- if (zipEntries.zipComment.length) {
- zip.comment = zipEntries.zipComment;
- }
- return zip;
- });
+ return zip;
+ });
};
},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(require,module,exports){
@@ -1511,16 +1512,16 @@ var out = {
*/
forEach: function(cb) {
var filename, relativePath, file;
+ /* jshint ignore:start */
+ // ignore warning about unwanted properties because this.files is a null prototype object
for (filename in this.files) {
- if (!this.files.hasOwnProperty(filename)) {
- continue;
- }
file = this.files[filename];
relativePath = filename.slice(this.root.length, filename.length);
if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root
cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn...
}
}
+ /* jshint ignore:end */
},
/**
@@ -1667,7 +1668,7 @@ var out = {
opts.type = opts.type.toLowerCase();
opts.compression = opts.compression.toUpperCase();
- // "binarystring" is prefered but the internals use "string".
+ // "binarystring" is preferred but the internals use "string".
if(opts.type === "binarystring") {
opts.type = "string";
}
@@ -1876,9 +1877,9 @@ DataReader.prototype = {
// see implementations
},
/**
- * Find the last occurence of a zip signature (4 bytes).
+ * Find the last occurrence of a zip signature (4 bytes).
* @param {string} sig the signature to find.
- * @return {number} the index of the last occurence, -1 if not found.
+ * @return {number} the index of the last occurrence, -1 if not found.
*/
lastIndexOfSignature: function(sig) {
// see implementations
@@ -3122,7 +3123,7 @@ function stringToArrayLike(str, array) {
/**
* An helper for the function arrayLikeToString.
- * This contains static informations and functions that
+ * This contains static information and functions that
* can be optimized by the browser JIT compiler.
*/
var arrayToStringHelper = {
@@ -3862,7 +3863,7 @@ ZipEntry.prototype = {
reader.skip(localExtraFieldsLength);
if (this.compressedSize === -1 || this.uncompressedSize === -1) {
- throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory " + "(compressedSize === -1 || uncompressedSize === -1)");
+ throw new Error("Bug or corrupted zip : didn't get enough information from the central directory " + "(compressedSize === -1 || uncompressedSize === -1)");
}
compression = findCompression(this.compressionMethod);
@@ -3976,7 +3977,7 @@ ZipEntry.prototype = {
this.extraFields = {};
}
- while (reader.index < end) {
+ while (reader.index + 4 < end) {
extraFieldId = reader.readInt(2);
extraFieldLength = reader.readInt(2);
extraFieldValue = reader.readData(extraFieldLength);
@@ -3987,6 +3988,8 @@ ZipEntry.prototype = {
value: extraFieldValue
};
}
+
+ reader.setIndex(end);
},
/**
* Apply an UTF8 transformation if needed.
diff --git a/docs/doc/reference/jquery/jszip/dist/jszip.min.js b/docs/doc/reference/jquery/jszip/dist/jszip.min.js
index 520db074223..6c4645c1bbd 100644
--- a/docs/doc/reference/jquery/jszip/dist/jszip.min.js
+++ b/docs/doc/reference/jquery/jszip/dist/jszip.min.js
@@ -1,6 +1,6 @@
/*!
-JSZip v3.2.1 - A JavaScript class for generating and reading zip files
+JSZip v3.7.1 - A JavaScript class for generating and reading zip files
(c) 2009-2016 Stuart Knightley
@@ -10,4 +10,4 @@ JSZip uses the library pako released under the MIT license :
https://github.com/nodeca/pako/blob/master/LICENSE
*/
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).JSZip=t()}}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e="function"==typeof require&&require;if(!t&&e)return e(r,!0);if(l)return l(r,!0);var i=new Error("Cannot find module '"+r+"'");throw i.code="MODULE_NOT_FOUND",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l="function"==typeof require&&require,t=0;t>2,s=(3&e)<<4|r>>4,a=1>6:64,o=2>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{"./support":30,"./utils":32}],2:[function(t,e,r){"use strict";var i=t("./external"),n=t("./stream/DataWorker"),s=t("./stream/DataLengthProbe"),a=t("./stream/Crc32Probe");s=t("./stream/DataLengthProbe");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new a).pipe(new s("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new s("compressedSize")).withStreamInfo("compression",e)},e.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){"use strict";var i=t("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(t){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},r.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){"use strict";var i=t("./utils");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{"./utils":32}],5:[function(t,e,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){"use strict";var i=null;i="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=i?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){"use strict";function A(t,e){var r,i="";for(r=0;r>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),d=I.transformTo("string",O.utf8encode(h.name)),c=h.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(i,4)+f+b+p}}var I=t("../utils"),n=t("../stream/GenericWorker"),O=t("../utf8"),B=t("../crc32"),R=t("../signature");function s(t,e,r,i){n.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{"../utils":32}],19:[function(t,e,r){"use strict";var i=t("./Uint8ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,e,r){"use strict";var i=t("./DataReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./DataReader":18}],21:[function(t,e,r){"use strict";var i=t("./ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./ArrayReader":17}],22:[function(t,e,r){"use strict";var i=t("../utils"),n=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),"string"!==e||n.uint8array?"nodebuffer"===e?new o(t):n.uint8array?new h(i.transformTo("uint8array",t)):new s(i.transformTo("array",t)):new a(t)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(t,e,r){"use strict";var i=t("./GenericWorker"),n=t("../utils");function s(t){i.call(this,"ConvertWorker to "+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){"use strict";var i=t("./GenericWorker"),n=t("../crc32");function s(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){"use strict";var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){"use strict";var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":t=this.data.substring(this.index,e);break;case"uint8array":t=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){"use strict";function i(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit("error",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r "+t:t}},e.exports=i},{}],29:[function(t,e,r){"use strict";var h=t("../utils"),n=t("./ConvertWorker"),s=t("./GenericWorker"),u=t("../base64"),i=t("../support"),a=t("../external"),o=null;if(i.nodestream)try{o=t("../nodejs/NodejsStreamOutputAdapter")}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on("data",function(t,e){i.push(t),o&&o(e)}).on("error",function(t){i=[],r(t)}).on("end",function(){try{var t=function(t,e,r){switch(t){case"blob":return h.newBlob(h.transformTo("arraybuffer",e),r);case"base64":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?"uint8array":"array",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,e,a){"use strict";var o=t("./support"),h=t("./base64"),r=t("./nodejsUtils"),i=t("set-immediate-shim"),u=t("./external");function n(t){return t}function l(t,e){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{"./common":41}],43:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){"use strict";var h,d=t("../utils/common"),u=t("./trees"),c=t("./adler32"),p=t("./crc32"),i=t("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<=x&&(t.ins_h=(t.ins_h<=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<=x&&(t.ins_h=(t.ins_h<=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindexn&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindexn&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<>>=y,p-=y),p<15&&(c+=z[i++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<>>=y,p-=y,(y=s-a)>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(hc?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u>=7;i>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":41}],53:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){"use strict";e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});
\ No newline at end of file
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).JSZip=t()}}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e="function"==typeof require&&require;if(!t&&e)return e(r,!0);if(l)return l(r,!0);var i=new Error("Cannot find module '"+r+"'");throw i.code="MODULE_NOT_FOUND",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l="function"==typeof require&&require,t=0;t>2,s=(3&e)<<4|r>>4,a=1>6:64,o=2>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{"./support":30,"./utils":32}],2:[function(t,e,r){"use strict";var i=t("./external"),n=t("./stream/DataWorker"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",e)},e.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){"use strict";var i=t("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(t){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},r.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){"use strict";var i=t("./utils");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{"./utils":32}],5:[function(t,e,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){"use strict";var i=null;i="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=i?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){"use strict";function A(t,e){var r,i="";for(r=0;r>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),d=I.transformTo("string",O.utf8encode(h.name)),c=h.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(i,4)+f+b+p}}var I=t("../utils"),n=t("../stream/GenericWorker"),O=t("../utf8"),B=t("../crc32"),R=t("../signature");function s(t,e,r,i){n.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{"../utils":32}],19:[function(t,e,r){"use strict";var i=t("./Uint8ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,e,r){"use strict";var i=t("./DataReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./DataReader":18}],21:[function(t,e,r){"use strict";var i=t("./ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./ArrayReader":17}],22:[function(t,e,r){"use strict";var i=t("../utils"),n=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),"string"!==e||n.uint8array?"nodebuffer"===e?new o(t):n.uint8array?new h(i.transformTo("uint8array",t)):new s(i.transformTo("array",t)):new a(t)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(t,e,r){"use strict";var i=t("./GenericWorker"),n=t("../utils");function s(t){i.call(this,"ConvertWorker to "+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){"use strict";var i=t("./GenericWorker"),n=t("../crc32");function s(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){"use strict";var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){"use strict";var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":t=this.data.substring(this.index,e);break;case"uint8array":t=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){"use strict";function i(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit("error",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r "+t:t}},e.exports=i},{}],29:[function(t,e,r){"use strict";var h=t("../utils"),n=t("./ConvertWorker"),s=t("./GenericWorker"),u=t("../base64"),i=t("../support"),a=t("../external"),o=null;if(i.nodestream)try{o=t("../nodejs/NodejsStreamOutputAdapter")}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on("data",function(t,e){i.push(t),o&&o(e)}).on("error",function(t){i=[],r(t)}).on("end",function(){try{var t=function(t,e,r){switch(t){case"blob":return h.newBlob(h.transformTo("arraybuffer",e),r);case"base64":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?"uint8array":"array",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,e,a){"use strict";var o=t("./support"),h=t("./base64"),r=t("./nodejsUtils"),i=t("set-immediate-shim"),u=t("./external");function n(t){return t}function l(t,e){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{"./common":41}],43:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){"use strict";var h,d=t("../utils/common"),u=t("./trees"),c=t("./adler32"),p=t("./crc32"),i=t("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<=x&&(t.ins_h=(t.ins_h<=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<=x&&(t.ins_h=(t.ins_h<=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindexn&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindexn&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<>>=y,p-=y),p<15&&(c+=z[i++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<>>=y,p-=y,(y=s-a)>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(hc?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u>=7;i>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":41}],53:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){"use strict";e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});
\ No newline at end of file
diff --git a/docs/doc/reference/member-search-index.js b/docs/doc/reference/member-search-index.js
index bb09c515800..1ddbb7bb750 100644
--- a/docs/doc/reference/member-search-index.js
+++ b/docs/doc/reference/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_ELD_MAX_RATE_BYTES_PER_SECOND"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_HE_AUDIO_SAMPLE_COUNT"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_HE_V1_MAX_RATE_BYTES_PER_SECOND"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_HE_V2_MAX_RATE_BYTES_PER_SECOND"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_LC_AUDIO_SAMPLE_COUNT"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_LC_MAX_RATE_BYTES_PER_SECOND"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_LD_AUDIO_SAMPLE_COUNT"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_XHE_AUDIO_SAMPLE_COUNT"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AAC_XHE_MAX_RATE_BYTES_PER_SECOND"},{"p":"com.google.android.exoplayer2.analytics","c":"PlaybackStats","l":"abandonedBeforeReadyCount"},{"p":"com.google.android.exoplayer2.upstream","c":"DataSpec","l":"absoluteStreamPosition"},{"p":"com.google.android.exoplayer2","c":"AbstractConcatenatedTimeline","l":"AbstractConcatenatedTimeline(boolean, ShuffleOrder)","url":"%3Cinit%3E(boolean,com.google.android.exoplayer2.source.ShuffleOrder)"},{"p":"com.google.android.exoplayer2.util","c":"FileTypes","l":"AC3"},{"p":"com.google.android.exoplayer2.audio","c":"Ac3Util","l":"AC3_MAX_RATE_BYTES_PER_SECOND"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioTrackBufferSizeProvider","l":"ac3BufferMultiplicationFactor"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"Ac3Extractor","l":"Ac3Extractor()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"Ac3Reader","l":"Ac3Reader()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"Ac3Reader","l":"Ac3Reader(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"com.google.android.exoplayer2.util","c":"FileTypes","l":"AC4"},{"p":"com.google.android.exoplayer2.audio","c":"Ac4Util","l":"AC40_SYNCWORD"},{"p":"com.google.android.exoplayer2.audio","c":"Ac4Util","l":"AC41_SYNCWORD"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"Ac4Extractor","l":"Ac4Extractor()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"Ac4Reader","l":"Ac4Reader()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"Ac4Reader","l":"Ac4Reader(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"com.google.android.exoplayer2.util","c":"Consumer","l":"accept(T)"},{"p":"com.google.android.exoplayer2.ext.media2","c":"SessionCallbackBuilder.AllowedCommandProvider","l":"acceptConnection(MediaSession, MediaSession.ControllerInfo)","url":"acceptConnection(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo)"},{"p":"com.google.android.exoplayer2.ext.media2","c":"SessionCallbackBuilder.DefaultAllowedCommandProvider","l":"acceptConnection(MediaSession, MediaSession.ControllerInfo)","url":"acceptConnection(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo)"},{"p":"com.google.android.exoplayer2","c":"Format","l":"accessibilityChannel"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"AdaptationSet","l":"accessibilityDescriptors"},{"p":"com.google.android.exoplayer2.drm","c":"DummyExoMediaDrm","l":"acquire()"},{"p":"com.google.android.exoplayer2.drm","c":"ExoMediaDrm","l":"acquire()"},{"p":"com.google.android.exoplayer2.drm","c":"FrameworkMediaDrm","l":"acquire()"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExoMediaDrm","l":"acquire()"},{"p":"com.google.android.exoplayer2.drm","c":"DrmSession","l":"acquire(DrmSessionEventListener.EventDispatcher)","url":"acquire(com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher)"},{"p":"com.google.android.exoplayer2.drm","c":"ErrorStateDrmSession","l":"acquire(DrmSessionEventListener.EventDispatcher)","url":"acquire(com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher)"},{"p":"com.google.android.exoplayer2.drm","c":"ExoMediaDrm.AppManagedProvider","l":"acquireExoMediaDrm(UUID)","url":"acquireExoMediaDrm(java.util.UUID)"},{"p":"com.google.android.exoplayer2.drm","c":"ExoMediaDrm.Provider","l":"acquireExoMediaDrm(UUID)","url":"acquireExoMediaDrm(java.util.UUID)"},{"p":"com.google.android.exoplayer2.drm","c":"DefaultDrmSessionManager","l":"acquireSession(DrmSessionEventListener.EventDispatcher, Format)","url":"acquireSession(com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher,com.google.android.exoplayer2.Format)"},{"p":"com.google.android.exoplayer2.drm","c":"DrmSessionManager","l":"acquireSession(DrmSessionEventListener.EventDispatcher, Format)","url":"acquireSession(com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher,com.google.android.exoplayer2.Format)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeDataSet.FakeData.Segment","l":"action"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_ADD_DOWNLOAD"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_FAST_FORWARD"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_INIT"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_NEXT"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_PAUSE"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_PAUSE_DOWNLOADS"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_PLAY"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_PREVIOUS"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_REMOVE_ALL_DOWNLOADS"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_REMOVE_DOWNLOAD"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_RESUME_DOWNLOADS"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_REWIND"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_SET_REQUIREMENTS"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"ACTION_SET_STOP_REASON"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager","l":"ACTION_STOP"},{"p":"com.google.android.exoplayer2.testutil","c":"Action","l":"Action(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.google.android.exoplayer2.ext.mediasession","c":"MediaSessionConnector.PlaybackPreparer","l":"ACTIONS"},{"p":"com.google.android.exoplayer2.ext.mediasession","c":"MediaSessionConnector.QueueNavigator","l":"ACTIONS"},{"p":"com.google.android.exoplayer2.audio","c":"AudioSink.UnexpectedDiscontinuityException","l":"actualPresentationTimeUs"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"AD_STATE_AVAILABLE"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"AD_STATE_ERROR"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"AD_STATE_PLAYED"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"AD_STATE_SKIPPED"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"AD_STATE_UNAVAILABLE"},{"p":"com.google.android.exoplayer2.trackselection","c":"AdaptiveTrackSelection.AdaptationCheckpoint","l":"AdaptationCheckpoint(long, long)","url":"%3Cinit%3E(long,long)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"AdaptationSet","l":"AdaptationSet(int, @com.google.android.exoplayer2.C.TrackType int, List, List, List, List)","url":"%3Cinit%3E(int,@com.google.android.exoplayer2.C.TrackTypeint,java.util.List,java.util.List,java.util.List,java.util.List)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"Period","l":"adaptationSets"},{"p":"com.google.android.exoplayer2.mediacodec","c":"MediaCodecInfo","l":"adaptive"},{"p":"com.google.android.exoplayer2","c":"RendererCapabilities","l":"ADAPTIVE_NOT_SEAMLESS"},{"p":"com.google.android.exoplayer2","c":"RendererCapabilities","l":"ADAPTIVE_NOT_SUPPORTED"},{"p":"com.google.android.exoplayer2","c":"RendererCapabilities","l":"ADAPTIVE_SEAMLESS"},{"p":"com.google.android.exoplayer2","c":"RendererCapabilities","l":"ADAPTIVE_SUPPORT_MASK"},{"p":"com.google.android.exoplayer2.trackselection","c":"AdaptiveTrackSelection","l":"AdaptiveTrackSelection(TrackGroup, int[], @com.google.android.exoplayer2.trackselection.TrackSelection.Type int, BandwidthMeter, long, long, long, int, int, float, float, List, Clock)","url":"%3Cinit%3E(com.google.android.exoplayer2.source.TrackGroup,int[],@com.google.android.exoplayer2.trackselection.TrackSelection.Typeint,com.google.android.exoplayer2.upstream.BandwidthMeter,long,long,long,int,int,float,float,java.util.List,com.google.android.exoplayer2.util.Clock)"},{"p":"com.google.android.exoplayer2.trackselection","c":"AdaptiveTrackSelection","l":"AdaptiveTrackSelection(TrackGroup, int[], BandwidthMeter)","url":"%3Cinit%3E(com.google.android.exoplayer2.source.TrackGroup,int[],com.google.android.exoplayer2.upstream.BandwidthMeter)"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"add(@com.google.android.exoplayer2.Player.Command int)","url":"add(@com.google.android.exoplayer2.Player.Commandint)"},{"p":"com.google.android.exoplayer2.testutil","c":"Dumper","l":"add(Dumper.Dumpable)","url":"add(com.google.android.exoplayer2.testutil.Dumper.Dumpable)"},{"p":"com.google.android.exoplayer2.util","c":"CopyOnWriteMultiset","l":"add(E)"},{"p":"com.google.android.exoplayer2.ext.mediasession","c":"TimelineQueueEditor.QueueDataAdapter","l":"add(int, MediaDescriptionCompat)","url":"add(int,android.support.v4.media.MediaDescriptionCompat)"},{"p":"com.google.android.exoplayer2.util","c":"FlagSet.Builder","l":"add(int)"},{"p":"com.google.android.exoplayer2.util","c":"PriorityTaskManager","l":"add(int)"},{"p":"com.google.android.exoplayer2.util","c":"TimedValueQueue","l":"add(long, V)","url":"add(long,V)"},{"p":"com.google.android.exoplayer2.util","c":"LongArray","l":"add(long)"},{"p":"com.google.android.exoplayer2.testutil","c":"Dumper","l":"add(String, byte[])","url":"add(java.lang.String,byte[])"},{"p":"com.google.android.exoplayer2.testutil","c":"Dumper","l":"add(String, Object)","url":"add(java.lang.String,java.lang.Object)"},{"p":"com.google.android.exoplayer2.util","c":"ListenerSet","l":"add(T)"},{"p":"com.google.android.exoplayer2.source.ads","c":"ServerSideAdInsertionUtil","l":"addAdGroupToAdPlaybackState(AdPlaybackState, long, long, long...)","url":"addAdGroupToAdPlaybackState(com.google.android.exoplayer2.source.ads.AdPlaybackState,long,long,long...)"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"addAll(@com.google.android.exoplayer2.Player.Command int...)","url":"addAll(@com.google.android.exoplayer2.Player.Commandint...)"},{"p":"com.google.android.exoplayer2.util","c":"FlagSet.Builder","l":"addAll(FlagSet)","url":"addAll(com.google.android.exoplayer2.util.FlagSet)"},{"p":"com.google.android.exoplayer2.util","c":"FlagSet.Builder","l":"addAll(int...)"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"addAll(Player.Commands)","url":"addAll(com.google.android.exoplayer2.Player.Commands)"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"addAllCommands()"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer","l":"addAnalyticsListener(AnalyticsListener)","url":"addAnalyticsListener(com.google.android.exoplayer2.analytics.AnalyticsListener)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addAnalyticsListener(AnalyticsListener)","url":"addAnalyticsListener(com.google.android.exoplayer2.analytics.AnalyticsListener)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubExoPlayer","l":"addAnalyticsListener(AnalyticsListener)","url":"addAnalyticsListener(com.google.android.exoplayer2.analytics.AnalyticsListener)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadHelper","l":"addAudioLanguagesToSelection(String...)","url":"addAudioLanguagesToSelection(java.lang.String...)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer","l":"addAudioOffloadListener(ExoPlayer.AudioOffloadListener)","url":"addAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addAudioOffloadListener(ExoPlayer.AudioOffloadListener)","url":"addAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubExoPlayer","l":"addAudioOffloadListener(ExoPlayer.AudioOffloadListener)","url":"addAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadManager","l":"addDownload(DownloadRequest, int)","url":"addDownload(com.google.android.exoplayer2.offline.DownloadRequest,int)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadManager","l":"addDownload(DownloadRequest)","url":"addDownload(com.google.android.exoplayer2.offline.DownloadRequest)"},{"p":"com.google.android.exoplayer2.source","c":"BaseMediaSource","l":"addDrmEventListener(Handler, DrmSessionEventListener)","url":"addDrmEventListener(android.os.Handler,com.google.android.exoplayer2.drm.DrmSessionEventListener)"},{"p":"com.google.android.exoplayer2.source","c":"MediaSource","l":"addDrmEventListener(Handler, DrmSessionEventListener)","url":"addDrmEventListener(android.os.Handler,com.google.android.exoplayer2.drm.DrmSessionEventListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"BandwidthMeter","l":"addEventListener(Handler, BandwidthMeter.EventListener)","url":"addEventListener(android.os.Handler,com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"DefaultBandwidthMeter","l":"addEventListener(Handler, BandwidthMeter.EventListener)","url":"addEventListener(android.os.Handler,com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener)"},{"p":"com.google.android.exoplayer2.drm","c":"DrmSessionEventListener.EventDispatcher","l":"addEventListener(Handler, DrmSessionEventListener)","url":"addEventListener(android.os.Handler,com.google.android.exoplayer2.drm.DrmSessionEventListener)"},{"p":"com.google.android.exoplayer2.source","c":"BaseMediaSource","l":"addEventListener(Handler, MediaSourceEventListener)","url":"addEventListener(android.os.Handler,com.google.android.exoplayer2.source.MediaSourceEventListener)"},{"p":"com.google.android.exoplayer2.source","c":"MediaSource","l":"addEventListener(Handler, MediaSourceEventListener)","url":"addEventListener(android.os.Handler,com.google.android.exoplayer2.source.MediaSourceEventListener)"},{"p":"com.google.android.exoplayer2.source","c":"MediaSourceEventListener.EventDispatcher","l":"addEventListener(Handler, MediaSourceEventListener)","url":"addEventListener(android.os.Handler,com.google.android.exoplayer2.source.MediaSourceEventListener)"},{"p":"com.google.android.exoplayer2.decoder","c":"Buffer","l":"addFlag(@com.google.android.exoplayer2.C.BufferFlags int)","url":"addFlag(@com.google.android.exoplayer2.C.BufferFlagsint)"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"addIf(@com.google.android.exoplayer2.Player.Command int, boolean)","url":"addIf(@com.google.android.exoplayer2.Player.Commandint,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"FlagSet.Builder","l":"addIf(int, boolean)","url":"addIf(int,boolean)"},{"p":"com.google.android.exoplayer2.testutil","c":"DataSourceContractTest","l":"additionalFailureInfo"},{"p":"com.google.android.exoplayer2.testutil","c":"AdditionalFailureInfo","l":"AdditionalFailureInfo()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.analytics","c":"AnalyticsCollector","l":"addListener(AnalyticsListener)","url":"addListener(com.google.android.exoplayer2.analytics.AnalyticsListener)"},{"p":"com.google.android.exoplayer2.analytics","c":"DefaultAnalyticsCollector","l":"addListener(AnalyticsListener)","url":"addListener(com.google.android.exoplayer2.analytics.AnalyticsListener)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadManager","l":"addListener(DownloadManager.Listener)","url":"addListener(com.google.android.exoplayer2.offline.DownloadManager.Listener)"},{"p":"com.google.android.exoplayer2.upstream","c":"BandwidthMeter.EventListener.EventDispatcher","l":"addListener(Handler, BandwidthMeter.EventListener)","url":"addListener(android.os.Handler,com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener)"},{"p":"com.google.android.exoplayer2.source.hls.playlist","c":"DefaultHlsPlaylistTracker","l":"addListener(HlsPlaylistTracker.PlaylistEventListener)","url":"addListener(com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistEventListener)"},{"p":"com.google.android.exoplayer2.source.hls.playlist","c":"HlsPlaylistTracker","l":"addListener(HlsPlaylistTracker.PlaylistEventListener)","url":"addListener(com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistEventListener)"},{"p":"com.google.android.exoplayer2","c":"ForwardingPlayer","l":"addListener(Player.Listener)","url":"addListener(com.google.android.exoplayer2.Player.Listener)"},{"p":"com.google.android.exoplayer2","c":"Player","l":"addListener(Player.Listener)","url":"addListener(com.google.android.exoplayer2.Player.Listener)"},{"p":"com.google.android.exoplayer2","c":"SimpleBasePlayer","l":"addListener(Player.Listener)","url":"addListener(com.google.android.exoplayer2.Player.Listener)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addListener(Player.Listener)","url":"addListener(com.google.android.exoplayer2.Player.Listener)"},{"p":"com.google.android.exoplayer2.ext.cast","c":"CastPlayer","l":"addListener(Player.Listener)","url":"addListener(com.google.android.exoplayer2.Player.Listener)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubPlayer","l":"addListener(Player.Listener)","url":"addListener(com.google.android.exoplayer2.Player.Listener)"},{"p":"com.google.android.exoplayer2.upstream.cache","c":"Cache","l":"addListener(String, Cache.Listener)","url":"addListener(java.lang.String,com.google.android.exoplayer2.upstream.cache.Cache.Listener)"},{"p":"com.google.android.exoplayer2.upstream.cache","c":"SimpleCache","l":"addListener(String, Cache.Listener)","url":"addListener(java.lang.String,com.google.android.exoplayer2.upstream.cache.Cache.Listener)"},{"p":"com.google.android.exoplayer2.ui","c":"DefaultTimeBar","l":"addListener(TimeBar.OnScrubListener)","url":"addListener(com.google.android.exoplayer2.ui.TimeBar.OnScrubListener)"},{"p":"com.google.android.exoplayer2.ui","c":"TimeBar","l":"addListener(TimeBar.OnScrubListener)","url":"addListener(com.google.android.exoplayer2.ui.TimeBar.OnScrubListener)"},{"p":"com.google.android.exoplayer2.transformer","c":"Transformer","l":"addListener(Transformer.Listener)","url":"addListener(com.google.android.exoplayer2.transformer.Transformer.Listener)"},{"p":"com.google.android.exoplayer2.transformer","c":"Transformer.Builder","l":"addListener(Transformer.Listener)","url":"addListener(com.google.android.exoplayer2.transformer.Transformer.Listener)"},{"p":"com.google.android.exoplayer2","c":"BasePlayer","l":"addMediaItem(int, MediaItem)","url":"addMediaItem(int,com.google.android.exoplayer2.MediaItem)"},{"p":"com.google.android.exoplayer2","c":"ForwardingPlayer","l":"addMediaItem(int, MediaItem)","url":"addMediaItem(int,com.google.android.exoplayer2.MediaItem)"},{"p":"com.google.android.exoplayer2","c":"Player","l":"addMediaItem(int, MediaItem)","url":"addMediaItem(int,com.google.android.exoplayer2.MediaItem)"},{"p":"com.google.android.exoplayer2","c":"BasePlayer","l":"addMediaItem(MediaItem)","url":"addMediaItem(com.google.android.exoplayer2.MediaItem)"},{"p":"com.google.android.exoplayer2","c":"ForwardingPlayer","l":"addMediaItem(MediaItem)","url":"addMediaItem(com.google.android.exoplayer2.MediaItem)"},{"p":"com.google.android.exoplayer2","c":"Player","l":"addMediaItem(MediaItem)","url":"addMediaItem(com.google.android.exoplayer2.MediaItem)"},{"p":"com.google.android.exoplayer2","c":"ForwardingPlayer","l":"addMediaItems(int, List)","url":"addMediaItems(int,java.util.List)"},{"p":"com.google.android.exoplayer2","c":"Player","l":"addMediaItems(int, List)","url":"addMediaItems(int,java.util.List)"},{"p":"com.google.android.exoplayer2","c":"SimpleBasePlayer","l":"addMediaItems(int, List)","url":"addMediaItems(int,java.util.List)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addMediaItems(int, List)","url":"addMediaItems(int,java.util.List)"},{"p":"com.google.android.exoplayer2.ext.cast","c":"CastPlayer","l":"addMediaItems(int, List)","url":"addMediaItems(int,java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubPlayer","l":"addMediaItems(int, List)","url":"addMediaItems(int,java.util.List)"},{"p":"com.google.android.exoplayer2","c":"BasePlayer","l":"addMediaItems(List)","url":"addMediaItems(java.util.List)"},{"p":"com.google.android.exoplayer2","c":"ForwardingPlayer","l":"addMediaItems(List)","url":"addMediaItems(java.util.List)"},{"p":"com.google.android.exoplayer2","c":"Player","l":"addMediaItems(List)","url":"addMediaItems(java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"Action.AddMediaItems","l":"AddMediaItems(String, MediaSource...)","url":"%3Cinit%3E(java.lang.String,com.google.android.exoplayer2.source.MediaSource...)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSource(int, MediaSource, Handler, Runnable)","url":"addMediaSource(int,com.google.android.exoplayer2.source.MediaSource,android.os.Handler,java.lang.Runnable)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer","l":"addMediaSource(int, MediaSource)","url":"addMediaSource(int,com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addMediaSource(int, MediaSource)","url":"addMediaSource(int,com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSource(int, MediaSource)","url":"addMediaSource(int,com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubExoPlayer","l":"addMediaSource(int, MediaSource)","url":"addMediaSource(int,com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSource(MediaSource, Handler, Runnable)","url":"addMediaSource(com.google.android.exoplayer2.source.MediaSource,android.os.Handler,java.lang.Runnable)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer","l":"addMediaSource(MediaSource)","url":"addMediaSource(com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addMediaSource(MediaSource)","url":"addMediaSource(com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSource(MediaSource)","url":"addMediaSource(com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubExoPlayer","l":"addMediaSource(MediaSource)","url":"addMediaSource(com.google.android.exoplayer2.source.MediaSource)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSources(Collection, Handler, Runnable)","url":"addMediaSources(java.util.Collection,android.os.Handler,java.lang.Runnable)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSources(Collection)","url":"addMediaSources(java.util.Collection)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSources(int, Collection, Handler, Runnable)","url":"addMediaSources(int,java.util.Collection,android.os.Handler,java.lang.Runnable)"},{"p":"com.google.android.exoplayer2.source","c":"ConcatenatingMediaSource","l":"addMediaSources(int, Collection)","url":"addMediaSources(int,java.util.Collection)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer","l":"addMediaSources(int, List)","url":"addMediaSources(int,java.util.List)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addMediaSources(int, List)","url":"addMediaSources(int,java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubExoPlayer","l":"addMediaSources(int, List)","url":"addMediaSources(int,java.util.List)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer","l":"addMediaSources(List)","url":"addMediaSources(java.util.List)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer","l":"addMediaSources(List)","url":"addMediaSources(java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"StubExoPlayer","l":"addMediaSources(List)","url":"addMediaSources(java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"ActionSchedule.Builder","l":"addMediaSources(MediaSource...)","url":"addMediaSources(com.google.android.exoplayer2.source.MediaSource...)"},{"p":"com.google.android.exoplayer2.text.span","c":"SpanUtil","l":"addOrReplaceSpan(Spannable, Object, int, int, int)","url":"addOrReplaceSpan(android.text.Spannable,java.lang.Object,int,int,int)"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters.Builder","l":"addOverride(TrackSelectionOverride)","url":"addOverride(com.google.android.exoplayer2.trackselection.TrackSelectionOverride)"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.ParametersBuilder","l":"addOverride(TrackSelectionOverride)","url":"addOverride(com.google.android.exoplayer2.trackselection.TrackSelectionOverride)"},{"p":"com.google.android.exoplayer2.trackselection","c":"TrackSelectionParameters.Builder","l":"addOverride(TrackSelectionOverride)","url":"addOverride(com.google.android.exoplayer2.trackselection.TrackSelectionOverride)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeClock","l":"addPendingHandlerMessage(FakeClock.HandlerMessage)","url":"addPendingHandlerMessage(com.google.android.exoplayer2.testutil.FakeClock.HandlerMessage)"},{"p":"com.google.android.exoplayer2.ext.media2","c":"SessionPlayerConnector","l":"addPlaylistItem(int, MediaItem)","url":"addPlaylistItem(int,androidx.media2.common.MediaItem)"},{"p":"com.google.android.exoplayer2.upstream","c":"SlidingPercentile","l":"addSample(int, float)","url":"addSample(int,float)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadHelper","l":"addTextLanguagesToSelection(boolean, String...)","url":"addTextLanguagesToSelection(boolean,java.lang.String...)"},{"p":"com.google.android.exoplayer2.testutil","c":"Dumper","l":"addTime(String, long)","url":"addTime(java.lang.String,long)"},{"p":"com.google.android.exoplayer2.transformer","c":"DefaultMuxer","l":"addTrack(Format)","url":"addTrack(com.google.android.exoplayer2.Format)"},{"p":"com.google.android.exoplayer2.transformer","c":"Muxer","l":"addTrack(Format)","url":"addTrack(com.google.android.exoplayer2.Format)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadHelper","l":"addTrackSelection(int, TrackSelectionParameters)","url":"addTrackSelection(int,com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadHelper","l":"addTrackSelectionForSingleRenderer(int, int, DefaultTrackSelector.Parameters, List)","url":"addTrackSelectionForSingleRenderer(int,int,com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters,java.util.List)"},{"p":"com.google.android.exoplayer2.upstream","c":"BaseDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"DataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"DefaultDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"PlaceholderDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"PriorityDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"ResolvingDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"StatsDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream","c":"TeeDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream.cache","c":"CacheDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.upstream.crypto","c":"AesCipherDataSource","l":"addTransferListener(TransferListener)","url":"addTransferListener(com.google.android.exoplayer2.upstream.TransferListener)"},{"p":"com.google.android.exoplayer2.decoder","c":"DecoderCounters","l":"addVideoFrameProcessingOffset(long)"},{"p":"com.google.android.exoplayer2.video.spherical","c":"SphericalGLSurfaceView","l":"addVideoSurfaceListener(SphericalGLSurfaceView.VideoSurfaceListener)","url":"addVideoSurfaceListener(com.google.android.exoplayer2.video.spherical.SphericalGLSurfaceView.VideoSurfaceListener)"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerControlView","l":"addVisibilityListener(PlayerControlView.VisibilityListener)","url":"addVisibilityListener(com.google.android.exoplayer2.ui.PlayerControlView.VisibilityListener)"},{"p":"com.google.android.exoplayer2.ui","c":"StyledPlayerControlView","l":"addVisibilityListener(StyledPlayerControlView.VisibilityListener)","url":"addVisibilityListener(com.google.android.exoplayer2.ui.StyledPlayerControlView.VisibilityListener)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"addWithOverflowDefault(long, long, long)","url":"addWithOverflowDefault(long,long,long)"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState.AdGroup","l":"AdGroup(long)","url":"%3Cinit%3E(long)"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"adGroupCount"},{"p":"com.google.android.exoplayer2","c":"Player.PositionInfo","l":"adGroupIndex"},{"p":"com.google.android.exoplayer2.source","c":"MediaPeriodId","l":"adGroupIndex"},{"p":"com.google.android.exoplayer2","c":"Player.PositionInfo","l":"adIndexInAdGroup"},{"p":"com.google.android.exoplayer2.source","c":"MediaPeriodId","l":"adIndexInAdGroup"},{"p":"com.google.android.exoplayer2.effect","c":"HslAdjustment.Builder","l":"adjustHue(float)"},{"p":"com.google.android.exoplayer2.effect","c":"HslAdjustment.Builder","l":"adjustLightness(float)"},{"p":"com.google.android.exoplayer2.video","c":"VideoFrameReleaseHelper","l":"adjustReleaseTime(long)"},{"p":"com.google.android.exoplayer2.util","c":"TimestampAdjuster","l":"adjustSampleTimestamp(long)"},{"p":"com.google.android.exoplayer2.effect","c":"HslAdjustment.Builder","l":"adjustSaturation(float)"},{"p":"com.google.android.exoplayer2.util","c":"TimestampAdjuster","l":"adjustTsTimestamp(long)"},{"p":"com.google.android.exoplayer2.ui","c":"AdOverlayInfo","l":"AdOverlayInfo(View, @com.google.android.exoplayer2.ui.AdOverlayInfo.Purpose int, String)","url":"%3Cinit%3E(android.view.View,@com.google.android.exoplayer2.ui.AdOverlayInfo.Purposeint,java.lang.String)"},{"p":"com.google.android.exoplayer2.ui","c":"AdOverlayInfo","l":"AdOverlayInfo(View, @com.google.android.exoplayer2.ui.AdOverlayInfo.Purpose int)","url":"%3Cinit%3E(android.view.View,@com.google.android.exoplayer2.ui.AdOverlayInfo.Purposeint)"},{"p":"com.google.android.exoplayer2.analytics","c":"PlaybackStats","l":"adPlaybackCount"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"AdPlaybackState(Object, long...)","url":"%3Cinit%3E(java.lang.Object,long...)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeTimeline.TimelineWindowDefinition","l":"adPlaybackStates"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"adResumePositionUs"},{"p":"com.google.android.exoplayer2","c":"MediaItem.LocalConfiguration","l":"adsConfiguration"},{"p":"com.google.android.exoplayer2","c":"MediaItem.AdsConfiguration","l":"adsId"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdPlaybackState","l":"adsId"},{"p":"com.google.android.exoplayer2.source.ads","c":"AdsMediaSource","l":"AdsMediaSource(MediaSource, DataSpec, Object, MediaSource.Factory, AdsLoader, AdViewProvider)","url":"%3Cinit%3E(com.google.android.exoplayer2.source.MediaSource,com.google.android.exoplayer2.upstream.DataSpec,java.lang.Object,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.source.ads.AdsLoader,com.google.android.exoplayer2.ui.AdViewProvider)"},{"p":"com.google.android.exoplayer2","c":"MediaItem.AdsConfiguration","l":"adTagUri"},{"p":"com.google.android.exoplayer2.util","c":"FileTypes","l":"ADTS"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"AdtsExtractor","l":"AdtsExtractor()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"AdtsExtractor","l":"AdtsExtractor(@com.google.android.exoplayer2.extractor.ts.AdtsExtractor.Flags int)","url":"%3Cinit%3E(@com.google.android.exoplayer2.extractor.ts.AdtsExtractor.Flagsint)"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"AdtsReader","l":"AdtsReader(boolean, String)","url":"%3Cinit%3E(boolean,java.lang.String)"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"AdtsReader","l":"AdtsReader(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"com.google.android.exoplayer2.extractor","c":"DefaultExtractorInput","l":"advancePeekPosition(int, boolean)","url":"advancePeekPosition(int,boolean)"},{"p":"com.google.android.exoplayer2.extractor","c":"ExtractorInput","l":"advancePeekPosition(int, boolean)","url":"advancePeekPosition(int,boolean)"},{"p":"com.google.android.exoplayer2.extractor","c":"ForwardingExtractorInput","l":"advancePeekPosition(int, boolean)","url":"advancePeekPosition(int,boolean)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExtractorInput","l":"advancePeekPosition(int, boolean)","url":"advancePeekPosition(int,boolean)"},{"p":"com.google.android.exoplayer2.extractor","c":"DefaultExtractorInput","l":"advancePeekPosition(int)"},{"p":"com.google.android.exoplayer2.extractor","c":"ExtractorInput","l":"advancePeekPosition(int)"},{"p":"com.google.android.exoplayer2.extractor","c":"ForwardingExtractorInput","l":"advancePeekPosition(int)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExtractorInput","l":"advancePeekPosition(int)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeClock","l":"advanceTime(long)"},{"p":"com.google.android.exoplayer2.upstream.crypto","c":"AesCipherDataSink","l":"AesCipherDataSink(byte[], DataSink, byte[])","url":"%3Cinit%3E(byte[],com.google.android.exoplayer2.upstream.DataSink,byte[])"},{"p":"com.google.android.exoplayer2.upstream.crypto","c":"AesCipherDataSink","l":"AesCipherDataSink(byte[], DataSink)","url":"%3Cinit%3E(byte[],com.google.android.exoplayer2.upstream.DataSink)"},{"p":"com.google.android.exoplayer2.upstream.crypto","c":"AesCipherDataSource","l":"AesCipherDataSource(byte[], DataSource)","url":"%3Cinit%3E(byte[],com.google.android.exoplayer2.upstream.DataSource)"},{"p":"com.google.android.exoplayer2.upstream.crypto","c":"AesFlushingCipher","l":"AesFlushingCipher(int, byte[], long, long)","url":"%3Cinit%3E(int,byte[],long,long)"},{"p":"com.google.android.exoplayer2.upstream.crypto","c":"AesFlushingCipher","l":"AesFlushingCipher(int, byte[], String, long)","url":"%3Cinit%3E(int,byte[],java.lang.String,long)"},{"p":"com.google.android.exoplayer2.robolectric","c":"ShadowMediaCodecConfig","l":"after()"},{"p":"com.google.android.exoplayer2.testutil","c":"HttpDataSourceTestEnv","l":"after()"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata","l":"albumArtist"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata","l":"albumTitle"},{"p":"com.google.android.exoplayer2.mediacodec","c":"MediaCodecInfo","l":"alignVideoSizeV21(int, int)","url":"alignVideoSizeV21(int,int)"},{"p":"com.google.android.exoplayer2.ext.mediasession","c":"MediaSessionConnector","l":"ALL_PLAYBACK_ACTIONS"},{"p":"com.google.android.exoplayer2.upstream","c":"Allocator","l":"allocate()"},{"p":"com.google.android.exoplayer2.upstream","c":"DefaultAllocator","l":"allocate()"},{"p":"com.google.android.exoplayer2.trackselection","c":"AdaptiveTrackSelection.AdaptationCheckpoint","l":"allocatedBandwidth"},{"p":"com.google.android.exoplayer2.upstream","c":"Allocation","l":"Allocation(byte[], int)","url":"%3Cinit%3E(byte[],int)"},{"p":"com.google.android.exoplayer2","c":"C","l":"ALLOW_CAPTURE_BY_ALL"},{"p":"com.google.android.exoplayer2","c":"C","l":"ALLOW_CAPTURE_BY_NONE"},{"p":"com.google.android.exoplayer2","c":"C","l":"ALLOW_CAPTURE_BY_SYSTEM"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowAudioMixedChannelCountAdaptiveness"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowAudioMixedDecoderSupportAdaptiveness"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowAudioMixedMimeTypeAdaptiveness"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowAudioMixedSampleRateAdaptiveness"},{"p":"com.google.android.exoplayer2.audio","c":"AudioAttributes","l":"allowedCapturePolicy"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExoMediaDrm.LicenseServer","l":"allowingSchemeDatas(List...)","url":"allowingSchemeDatas(java.util.List...)"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowMultipleAdaptiveSelections"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowVideoMixedDecoderSupportAdaptiveness"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowVideoMixedMimeTypeAdaptiveness"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters","l":"allowVideoNonSeamlessAdaptiveness"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"allSamplesAreSyncSamples(String, String)","url":"allSamplesAreSyncSamples(java.lang.String,java.lang.String)"},{"p":"com.google.android.exoplayer2.util","c":"FileTypes","l":"AMR"},{"p":"com.google.android.exoplayer2.extractor.amr","c":"AmrExtractor","l":"AmrExtractor()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.extractor.amr","c":"AmrExtractor","l":"AmrExtractor(@com.google.android.exoplayer2.extractor.amr.AmrExtractor.Flags int)","url":"%3Cinit%3E(@com.google.android.exoplayer2.extractor.amr.AmrExtractor.Flagsint)"},{"p":"com.google.android.exoplayer2.text","c":"Cue","l":"ANCHOR_TYPE_END"},{"p":"com.google.android.exoplayer2.text","c":"Cue","l":"ANCHOR_TYPE_MIDDLE"},{"p":"com.google.android.exoplayer2.text","c":"Cue","l":"ANCHOR_TYPE_START"},{"p":"com.google.android.exoplayer2.testutil.truth","c":"SpannedSubject.AndSpanFlags","l":"andFlags(int)"},{"p":"com.google.android.exoplayer2.metadata.id3","c":"ApicFrame","l":"ApicFrame(String, String, int, byte[])","url":"%3Cinit%3E(java.lang.String,java.lang.String,int,byte[])"},{"p":"com.google.android.exoplayer2.ext.cast","c":"DefaultCastOptionsProvider","l":"APP_ID_DEFAULT_RECEIVER_WITH_DRM"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeSampleStream","l":"append(List)","url":"append(java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeDataSet.FakeData","l":"appendReadAction(Runnable)","url":"appendReadAction(java.lang.Runnable)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeDataSet.FakeData","l":"appendReadData(byte[])"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeDataSet.FakeData","l":"appendReadData(int)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeDataSet.FakeData","l":"appendReadError(IOException)","url":"appendReadError(java.io.IOException)"},{"p":"com.google.android.exoplayer2.metadata.dvbsi","c":"AppInfoTable","l":"AppInfoTable(int, String)","url":"%3Cinit%3E(int,java.lang.String)"},{"p":"com.google.android.exoplayer2.metadata.dvbsi","c":"AppInfoTableDecoder","l":"AppInfoTableDecoder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_AIT"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_CAMERA_MOTION"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_CEA608"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_CEA708"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_DVBSUBS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_EMSG"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_EXIF"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_ICY"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_ID3"},{"p":"com.google.android.exoplayer2.metadata.dvbsi","c":"AppInfoTableDecoder","l":"APPLICATION_INFORMATION_TABLE_ID"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_M3U8"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_MATROSKA"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_MP4"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_MP4CEA608"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_MP4VTT"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_MPD"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_PGS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_RAWCC"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_RTSP"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_SCTE35"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_SS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_SUBRIP"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_TTML"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_TX3G"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_VOBSUB"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"APPLICATION_WEBM"},{"p":"com.google.android.exoplayer2.testutil","c":"ActionSchedule.Builder","l":"apply(Action)","url":"apply(com.google.android.exoplayer2.testutil.Action)"},{"p":"com.google.android.exoplayer2.testutil","c":"AdditionalFailureInfo","l":"apply(Statement, Description)","url":"apply(org.junit.runners.model.Statement,org.junit.runner.Description)"},{"p":"com.google.android.exoplayer2.upstream.cache","c":"Cache","l":"applyContentMetadataMutations(String, ContentMetadataMutations)","url":"applyContentMetadataMutations(java.lang.String,com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations)"},{"p":"com.google.android.exoplayer2.upstream.cache","c":"SimpleCache","l":"applyContentMetadataMutations(String, ContentMetadataMutations)","url":"applyContentMetadataMutations(java.lang.String,com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations)"},{"p":"com.google.android.exoplayer2.audio","c":"AudioProcessorChain","l":"applyPlaybackParameters(PlaybackParameters)","url":"applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioSink.DefaultAudioProcessorChain","l":"applyPlaybackParameters(PlaybackParameters)","url":"applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"},{"p":"com.google.android.exoplayer2.audio","c":"AudioProcessorChain","l":"applySkipSilenceEnabled(boolean)"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioSink.DefaultAudioProcessorChain","l":"applySkipSilenceEnabled(boolean)"},{"p":"com.google.android.exoplayer2.drm","c":"ExoMediaDrm.AppManagedProvider","l":"AppManagedProvider(ExoMediaDrm)","url":"%3Cinit%3E(com.google.android.exoplayer2.drm.ExoMediaDrm)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"areEqual(Object, Object)","url":"areEqual(java.lang.Object,java.lang.Object)"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata","l":"artist"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata","l":"artworkData"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata","l":"artworkDataType"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata","l":"artworkUri"},{"p":"com.google.android.exoplayer2","c":"C","l":"ASCII_NAME"},{"p":"com.google.android.exoplayer2.util","c":"NalUnitUtil","l":"ASPECT_RATIO_IDC_VALUES"},{"p":"com.google.android.exoplayer2.ui","c":"AspectRatioFrameLayout","l":"AspectRatioFrameLayout(Context, AttributeSet)","url":"%3Cinit%3E(android.content.Context,android.util.AttributeSet)"},{"p":"com.google.android.exoplayer2.ui","c":"AspectRatioFrameLayout","l":"AspectRatioFrameLayout(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertAdGroupCounts(Timeline, int...)","url":"assertAdGroupCounts(com.google.android.exoplayer2.Timeline,int...)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts","l":"assertAllBehaviors(ExtractorAsserts.ExtractorFactory, String, String)","url":"assertAllBehaviors(com.google.android.exoplayer2.testutil.ExtractorAsserts.ExtractorFactory,java.lang.String,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts","l":"assertAllBehaviors(ExtractorAsserts.ExtractorFactory, String)","url":"assertAllBehaviors(com.google.android.exoplayer2.testutil.ExtractorAsserts.ExtractorFactory,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts","l":"assertBehavior(ExtractorAsserts.ExtractorFactory, String, ExtractorAsserts.AssertionConfig, ExtractorAsserts.SimulationConfig)","url":"assertBehavior(com.google.android.exoplayer2.testutil.ExtractorAsserts.ExtractorFactory,java.lang.String,com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig,com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts","l":"assertBehavior(ExtractorAsserts.ExtractorFactory, String, ExtractorAsserts.SimulationConfig)","url":"assertBehavior(com.google.android.exoplayer2.testutil.ExtractorAsserts.ExtractorFactory,java.lang.String,com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig)"},{"p":"com.google.android.exoplayer2.testutil","c":"TestUtil","l":"assertBitmapsAreSimilar(Bitmap, Bitmap, double)","url":"assertBitmapsAreSimilar(android.graphics.Bitmap,android.graphics.Bitmap,double)"},{"p":"com.google.android.exoplayer2.testutil","c":"TestUtil","l":"assertBufferInfosEqual(MediaCodec.BufferInfo, MediaCodec.BufferInfo)","url":"assertBufferInfosEqual(android.media.MediaCodec.BufferInfo,android.media.MediaCodec.BufferInfo)"},{"p":"com.google.android.exoplayer2.testutil","c":"CacheAsserts","l":"assertCachedData(Cache, CacheAsserts.RequestSet)","url":"assertCachedData(com.google.android.exoplayer2.upstream.cache.Cache,com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet)"},{"p":"com.google.android.exoplayer2.testutil","c":"CacheAsserts","l":"assertCachedData(Cache, FakeDataSet)","url":"assertCachedData(com.google.android.exoplayer2.upstream.cache.Cache,com.google.android.exoplayer2.testutil.FakeDataSet)"},{"p":"com.google.android.exoplayer2.testutil","c":"CacheAsserts","l":"assertCacheEmpty(Cache)","url":"assertCacheEmpty(com.google.android.exoplayer2.upstream.cache.Cache)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaSourceTestRunner","l":"assertCompletedManifestLoads(Integer...)","url":"assertCompletedManifestLoads(java.lang.Integer...)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaSourceTestRunner","l":"assertCompletedMediaPeriodLoads(MediaSource.MediaPeriodId...)","url":"assertCompletedMediaPeriodLoads(com.google.android.exoplayer2.source.MediaSource.MediaPeriodId...)"},{"p":"com.google.android.exoplayer2.testutil","c":"DecoderCountersUtil","l":"assertConsecutiveDroppedBufferLimit(String, DecoderCounters, int)","url":"assertConsecutiveDroppedBufferLimit(java.lang.String,com.google.android.exoplayer2.decoder.DecoderCounters,int)"},{"p":"com.google.android.exoplayer2.testutil","c":"CacheAsserts","l":"assertDataCached(Cache, DataSpec, byte[])","url":"assertDataCached(com.google.android.exoplayer2.upstream.cache.Cache,com.google.android.exoplayer2.upstream.DataSpec,byte[])"},{"p":"com.google.android.exoplayer2.testutil","c":"TestUtil","l":"assertDataSourceContent(DataSource, DataSpec, byte[], boolean)","url":"assertDataSourceContent(com.google.android.exoplayer2.upstream.DataSource,com.google.android.exoplayer2.upstream.DataSpec,byte[],boolean)"},{"p":"com.google.android.exoplayer2.testutil","c":"DecoderCountersUtil","l":"assertDroppedBufferLimit(String, DecoderCounters, int)","url":"assertDroppedBufferLimit(java.lang.String,com.google.android.exoplayer2.decoder.DecoderCounters,int)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertEmpty(Timeline)","url":"assertEmpty(com.google.android.exoplayer2.Timeline)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertEqualNextWindowIndices(Timeline, Timeline, @com.google.android.exoplayer2.Player.RepeatMode int, boolean)","url":"assertEqualNextWindowIndices(com.google.android.exoplayer2.Timeline,com.google.android.exoplayer2.Timeline,@com.google.android.exoplayer2.Player.RepeatModeint,boolean)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertEqualPreviousWindowIndices(Timeline, Timeline, @com.google.android.exoplayer2.Player.RepeatMode int, boolean)","url":"assertEqualPreviousWindowIndices(com.google.android.exoplayer2.Timeline,com.google.android.exoplayer2.Timeline,@com.google.android.exoplayer2.Player.RepeatModeint,boolean)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertEqualsExceptIdsAndManifest(Timeline, Timeline)","url":"assertEqualsExceptIdsAndManifest(com.google.android.exoplayer2.Timeline,com.google.android.exoplayer2.Timeline)"},{"p":"com.google.android.exoplayer2.testutil","c":"DefaultRenderersFactoryAsserts","l":"assertExtensionRendererCreated(Class extends Renderer>, @com.google.android.exoplayer2.C.TrackType int)","url":"assertExtensionRendererCreated(java.lang.Class,@com.google.android.exoplayer2.C.TrackTypeint)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaPeriodAsserts","l":"assertGetStreamKeysAndManifestFilterIntegration(MediaPeriodAsserts.FilterableManifestMediaPeriodFactory, T, int, String)","url":"assertGetStreamKeysAndManifestFilterIntegration(com.google.android.exoplayer2.testutil.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory,T,int,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaPeriodAsserts","l":"assertGetStreamKeysAndManifestFilterIntegration(MediaPeriodAsserts.FilterableManifestMediaPeriodFactory, T)","url":"assertGetStreamKeysAndManifestFilterIntegration(com.google.android.exoplayer2.testutil.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory,T)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayerLibraryInfo","l":"ASSERTIONS_ENABLED"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeMediaSource","l":"assertMediaPeriodCreated(MediaSource.MediaPeriodId)","url":"assertMediaPeriodCreated(com.google.android.exoplayer2.source.MediaSource.MediaPeriodId)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertNextWindowIndices(Timeline, @com.google.android.exoplayer2.Player.RepeatMode int, boolean, int...)","url":"assertNextWindowIndices(com.google.android.exoplayer2.Timeline,@com.google.android.exoplayer2.Player.RepeatModeint,boolean,int...)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"assertNoPositionDiscontinuities()"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaSourceTestRunner","l":"assertNoTimelineChange()"},{"p":"com.google.android.exoplayer2.testutil","c":"DumpFileAsserts","l":"assertOutput(Context, Dumper.Dumpable, String, String)","url":"assertOutput(android.content.Context,com.google.android.exoplayer2.testutil.Dumper.Dumpable,java.lang.String,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"DumpFileAsserts","l":"assertOutput(Context, Dumper.Dumpable, String)","url":"assertOutput(android.content.Context,com.google.android.exoplayer2.testutil.Dumper.Dumpable,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"DumpFileAsserts","l":"assertOutput(Context, String, String, String)","url":"assertOutput(android.content.Context,java.lang.String,java.lang.String,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"DumpFileAsserts","l":"assertOutput(Context, String, String)","url":"assertOutput(android.content.Context,java.lang.String,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoHostedTest","l":"assertPassed(DecoderCounters, DecoderCounters)","url":"assertPassed(com.google.android.exoplayer2.decoder.DecoderCounters,com.google.android.exoplayer2.decoder.DecoderCounters)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertPeriodCounts(Timeline, int...)","url":"assertPeriodCounts(com.google.android.exoplayer2.Timeline,int...)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertPeriodDurations(Timeline, long...)","url":"assertPeriodDurations(com.google.android.exoplayer2.Timeline,long...)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertPeriodEqualsExceptIds(Timeline.Period, Timeline.Period)","url":"assertPeriodEqualsExceptIds(com.google.android.exoplayer2.Timeline.Period,com.google.android.exoplayer2.Timeline.Period)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"assertPlaybackStatesEqual(Integer...)","url":"assertPlaybackStatesEqual(java.lang.Integer...)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"assertPlayedPeriodIndices(Integer...)","url":"assertPlayedPeriodIndices(java.lang.Integer...)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"assertPositionDiscontinuityReasonsEqual(Integer...)","url":"assertPositionDiscontinuityReasonsEqual(java.lang.Integer...)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaSourceTestRunner","l":"assertPrepareAndReleaseAllPeriods()"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertPreviousWindowIndices(Timeline, @com.google.android.exoplayer2.Player.RepeatMode int, boolean, int...)","url":"assertPreviousWindowIndices(com.google.android.exoplayer2.Timeline,@com.google.android.exoplayer2.Player.RepeatModeint,boolean,int...)"},{"p":"com.google.android.exoplayer2.testutil","c":"CacheAsserts","l":"assertReadData(DataSource, DataSpec, byte[])","url":"assertReadData(com.google.android.exoplayer2.upstream.DataSource,com.google.android.exoplayer2.upstream.DataSpec,byte[])"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeMediaSource","l":"assertReleased()"},{"p":"com.google.android.exoplayer2.robolectric","c":"TestDownloadManagerListener","l":"assertRemoved(String)","url":"assertRemoved(java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeTrackOutput","l":"assertSample(int, byte[], long, int, TrackOutput.CryptoData)","url":"assertSample(int,byte[],long,int,com.google.android.exoplayer2.extractor.TrackOutput.CryptoData)"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeTrackOutput","l":"assertSampleCount(int)"},{"p":"com.google.android.exoplayer2.testutil","c":"DecoderCountersUtil","l":"assertSkippedOutputBufferCount(String, DecoderCounters, int)","url":"assertSkippedOutputBufferCount(java.lang.String,com.google.android.exoplayer2.decoder.DecoderCounters,int)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts","l":"assertSniff(Extractor, FakeExtractorInput, boolean)","url":"assertSniff(com.google.android.exoplayer2.extractor.Extractor,com.google.android.exoplayer2.testutil.FakeExtractorInput,boolean)"},{"p":"com.google.android.exoplayer2.robolectric","c":"TestDownloadManagerListener","l":"assertState(String, @com.google.android.exoplayer2.offline.Download.State int)","url":"assertState(java.lang.String,@com.google.android.exoplayer2.offline.Download.Stateint)"},{"p":"com.google.android.exoplayer2.testutil.truth","c":"SpannedSubject","l":"assertThat(Spanned)","url":"assertThat(android.text.Spanned)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaSourceTestRunner","l":"assertTimelineChange()"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaSourceTestRunner","l":"assertTimelineChangeBlocking()"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"assertTimelineChangeReasonsEqual(Integer...)","url":"assertTimelineChangeReasonsEqual(java.lang.Integer...)"},{"p":"com.google.android.exoplayer2.testutil","c":"TestUtil","l":"assertTimelinesSame(List, List)","url":"assertTimelinesSame(java.util.List,java.util.List)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"assertTimelinesSame(Timeline...)","url":"assertTimelinesSame(com.google.android.exoplayer2.Timeline...)"},{"p":"com.google.android.exoplayer2.testutil","c":"DecoderCountersUtil","l":"assertTotalBufferCount(String, DecoderCounters, int, int)","url":"assertTotalBufferCount(java.lang.String,com.google.android.exoplayer2.decoder.DecoderCounters,int,int)"},{"p":"com.google.android.exoplayer2.testutil","c":"DecoderCountersUtil","l":"assertTotalBufferCount(String, DecoderCounters)","url":"assertTotalBufferCount(java.lang.String,com.google.android.exoplayer2.decoder.DecoderCounters)"},{"p":"com.google.android.exoplayer2.testutil","c":"MediaPeriodAsserts","l":"assertTrackGroups(MediaPeriod, TrackGroupArray)","url":"assertTrackGroups(com.google.android.exoplayer2.source.MediaPeriod,com.google.android.exoplayer2.source.TrackGroupArray)"},{"p":"com.google.android.exoplayer2.testutil","c":"DecoderCountersUtil","l":"assertVideoFrameProcessingOffsetSampleCount(String, DecoderCounters, int, int)","url":"assertVideoFrameProcessingOffsetSampleCount(java.lang.String,com.google.android.exoplayer2.decoder.DecoderCounters,int,int)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertWindowEqualsExceptUidAndManifest(Timeline.Window, Timeline.Window)","url":"assertWindowEqualsExceptUidAndManifest(com.google.android.exoplayer2.Timeline.Window,com.google.android.exoplayer2.Timeline.Window)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertWindowIsDynamic(Timeline, boolean...)","url":"assertWindowIsDynamic(com.google.android.exoplayer2.Timeline,boolean...)"},{"p":"com.google.android.exoplayer2.testutil","c":"TimelineAsserts","l":"assertWindowTags(Timeline, Object...)","url":"assertWindowTags(com.google.android.exoplayer2.Timeline,java.lang.Object...)"},{"p":"com.google.android.exoplayer2.testutil","c":"AssetContentProvider","l":"AssetContentProvider()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.upstream","c":"AssetDataSource","l":"AssetDataSource(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.upstream","c":"AssetDataSource.AssetDataSourceException","l":"AssetDataSourceException(IOException)","url":"%3Cinit%3E(java.io.IOException)"},{"p":"com.google.android.exoplayer2.upstream","c":"AssetDataSource.AssetDataSourceException","l":"AssetDataSourceException(Throwable, @com.google.android.exoplayer2.PlaybackException.ErrorCode int)","url":"%3Cinit%3E(java.lang.Throwable,@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"Period","l":"assetIdentifier"},{"p":"com.google.android.exoplayer2.util","c":"AtomicFile","l":"AtomicFile(File)","url":"%3Cinit%3E(java.io.File)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"RangedUri","l":"attemptMerge(RangedUri, String)","url":"attemptMerge(com.google.android.exoplayer2.source.dash.manifest.RangedUri,java.lang.String)"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_AAC"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_AC3"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_AC4"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_ALAC"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_ALAW"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_AMR"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_AMR_NB"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_AMR_WB"},{"p":"com.google.android.exoplayer2","c":"C","l":"AUDIO_CONTENT_TYPE_MOVIE"},{"p":"com.google.android.exoplayer2","c":"C","l":"AUDIO_CONTENT_TYPE_MUSIC"},{"p":"com.google.android.exoplayer2","c":"C","l":"AUDIO_CONTENT_TYPE_SONIFICATION"},{"p":"com.google.android.exoplayer2","c":"C","l":"AUDIO_CONTENT_TYPE_SPEECH"},{"p":"com.google.android.exoplayer2","c":"C","l":"AUDIO_CONTENT_TYPE_UNKNOWN"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_DTS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_DTS_EXPRESS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_DTS_HD"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_DTS_X"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_E_AC3"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_E_AC3_JOC"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_EXOPLAYER_MIDI"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_FLAC"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"AUDIO_FORMAT"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MATROSKA"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MIDI"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MLAW"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MP4"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MPEG"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MPEG_L1"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MPEG_L2"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MPEGH_MHA1"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MPEGH_MHM1"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_MSGSM"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AUDIO_OBJECT_TYPE_AAC_ELD"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AUDIO_OBJECT_TYPE_AAC_ER_BSAC"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AUDIO_OBJECT_TYPE_AAC_LC"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AUDIO_OBJECT_TYPE_AAC_PS"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AUDIO_OBJECT_TYPE_AAC_SBR"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"AUDIO_OBJECT_TYPE_AAC_XHE"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_OGG"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_OPUS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_RAW"},{"p":"com.google.android.exoplayer2","c":"C","l":"AUDIO_SESSION_ID_UNSET"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"PsExtractor","l":"AUDIO_STREAM"},{"p":"com.google.android.exoplayer2.extractor.ts","c":"PsExtractor","l":"AUDIO_STREAM_MASK"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_TRUEHD"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_UNKNOWN"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_VORBIS"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_WAV"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"AUDIO_WEBM"},{"p":"com.google.android.exoplayer2.audio","c":"AudioAttributes.AudioAttributesV21","l":"audioAttributes"},{"p":"com.google.android.exoplayer2.extractor.mkv","c":"MatroskaExtractor.Track","l":"audioBitDepth"},{"p":"com.google.android.exoplayer2.audio","c":"AudioCapabilities","l":"AudioCapabilities(int[], int)","url":"%3Cinit%3E(int[],int)"},{"p":"com.google.android.exoplayer2.audio","c":"AudioCapabilitiesReceiver","l":"AudioCapabilitiesReceiver(Context, AudioCapabilitiesReceiver.Listener)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver.Listener)"},{"p":"com.google.android.exoplayer2.audio","c":"AudioRendererEventListener.EventDispatcher","l":"audioCodecError(Exception)","url":"audioCodecError(java.lang.Exception)"},{"p":"com.google.android.exoplayer2.audio","c":"AudioProcessor.AudioFormat","l":"AudioFormat(int, int, @com.google.android.exoplayer2.C.PcmEncoding int)","url":"%3Cinit%3E(int,int,@com.google.android.exoplayer2.C.PcmEncodingint)"},{"p":"com.google.android.exoplayer2.analytics","c":"PlaybackStats","l":"audioFormatHistory"},{"p":"com.google.android.exoplayer2.source.hls","c":"HlsTrackMetadataEntry.VariantInfo","l":"audioGroupId"},{"p":"com.google.android.exoplayer2.source.hls.playlist","c":"HlsMultivariantPlaylist.Variant","l":"audioGroupId"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationRequest","l":"audioMimeType"},{"p":"com.google.android.exoplayer2.transformer","c":"Codec.EncoderFactory","l":"audioNeedsEncoding()"},{"p":"com.google.android.exoplayer2.source.hls.playlist","c":"HlsMultivariantPlaylist","l":"audios"},{"p":"com.google.android.exoplayer2.audio","c":"AudioRendererEventListener.EventDispatcher","l":"audioSinkError(Exception)","url":"audioSinkError(java.lang.Exception)"},{"p":"com.google.android.exoplayer2.audio","c":"AudioSink.InitializationException","l":"audioTrackState"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceInsertCommand","l":"autoReturn"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceScheduleCommand.Event","l":"autoReturn"},{"p":"com.google.android.exoplayer2.audio","c":"AuxEffectInfo","l":"AuxEffectInfo(int, float)","url":"%3Cinit%3E(int,float)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"DashManifest","l":"availabilityStartTimeMs"},{"p":"com.google.android.exoplayer2","c":"SimpleBasePlayer.State","l":"availableCommands"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceInsertCommand","l":"availNum"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceScheduleCommand.Event","l":"availNum"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceInsertCommand","l":"availsExpected"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceScheduleCommand.Event","l":"availsExpected"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationResult","l":"averageAudioBitrate"},{"p":"com.google.android.exoplayer2","c":"Format","l":"averageBitrate"},{"p":"com.google.android.exoplayer2.source.hls","c":"HlsTrackMetadataEntry.VariantInfo","l":"averageBitrate"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationResult","l":"averageVideoBitrate"},{"p":"com.google.android.exoplayer2.util","c":"FileTypes","l":"AVI"},{"p":"com.google.android.exoplayer2.extractor.avi","c":"AviExtractor","l":"AviExtractor()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.ui","c":"CaptionStyleCompat","l":"backgroundColor"},{"p":"com.google.android.exoplayer2.analytics","c":"PlaybackStats","l":"backgroundJoiningCount"},{"p":"com.google.android.exoplayer2.upstream","c":"BandwidthMeter.EventListener.EventDispatcher","l":"bandwidthSample(int, long, long)","url":"bandwidthSample(int,long,long)"},{"p":"com.google.android.exoplayer2.ui","c":"DefaultTimeBar","l":"BAR_GRAVITY_BOTTOM"},{"p":"com.google.android.exoplayer2.ui","c":"DefaultTimeBar","l":"BAR_GRAVITY_CENTER"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"BASE_TYPE_APPLICATION"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"BASE_TYPE_AUDIO"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"BASE_TYPE_IMAGE"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"BASE_TYPE_TEXT"},{"p":"com.google.android.exoplayer2.util","c":"MimeTypes","l":"BASE_TYPE_VIDEO"},{"p":"com.google.android.exoplayer2.audio","c":"BaseAudioProcessor","l":"BaseAudioProcessor()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.upstream","c":"BaseDataSource","l":"BaseDataSource(boolean)","url":"%3Cinit%3E(boolean)"},{"p":"com.google.android.exoplayer2.upstream","c":"HttpDataSource.BaseFactory","l":"BaseFactory()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.source.chunk","c":"BaseMediaChunk","l":"BaseMediaChunk(DataSource, DataSpec, Format, @com.google.android.exoplayer2.C.SelectionReason int, Object, long, long, long, long, long)","url":"%3Cinit%3E(com.google.android.exoplayer2.upstream.DataSource,com.google.android.exoplayer2.upstream.DataSpec,com.google.android.exoplayer2.Format,@com.google.android.exoplayer2.C.SelectionReasonint,java.lang.Object,long,long,long,long,long)"},{"p":"com.google.android.exoplayer2.source.chunk","c":"BaseMediaChunkIterator","l":"BaseMediaChunkIterator(long, long)","url":"%3Cinit%3E(long,long)"},{"p":"com.google.android.exoplayer2.source.chunk","c":"BaseMediaChunkOutput","l":"BaseMediaChunkOutput(int[], SampleQueue[])","url":"%3Cinit%3E(int[],com.google.android.exoplayer2.source.SampleQueue[])"},{"p":"com.google.android.exoplayer2.source","c":"BaseMediaSource","l":"BaseMediaSource()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"BasePlayer","l":"BasePlayer()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"BaseRenderer","l":"BaseRenderer(@com.google.android.exoplayer2.C.TrackType int)","url":"%3Cinit%3E(@com.google.android.exoplayer2.C.TrackTypeint)"},{"p":"com.google.android.exoplayer2.trackselection","c":"BaseTrackSelection","l":"BaseTrackSelection(TrackGroup, int...)","url":"%3Cinit%3E(com.google.android.exoplayer2.source.TrackGroup,int...)"},{"p":"com.google.android.exoplayer2.trackselection","c":"BaseTrackSelection","l":"BaseTrackSelection(TrackGroup, int[], @com.google.android.exoplayer2.trackselection.TrackSelection.Type int)","url":"%3Cinit%3E(com.google.android.exoplayer2.source.TrackGroup,int[],@com.google.android.exoplayer2.trackselection.TrackSelection.Typeint)"},{"p":"com.google.android.exoplayer2.source.hls.playlist","c":"HlsPlaylist","l":"baseUri"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"BaseUrl","l":"BaseUrl(String, String, int, int)","url":"%3Cinit%3E(java.lang.String,java.lang.String,int,int)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"BaseUrl","l":"BaseUrl(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"com.google.android.exoplayer2.source.dash","c":"BaseUrlExclusionList","l":"BaseUrlExclusionList()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"DashManifestParser.RepresentationInfo","l":"baseUrls"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"Representation","l":"baseUrls"},{"p":"com.google.android.exoplayer2.robolectric","c":"ShadowMediaCodecConfig","l":"before()"},{"p":"com.google.android.exoplayer2.testutil","c":"HttpDataSourceTestEnv","l":"before()"},{"p":"com.google.android.exoplayer2.util","c":"TraceUtil","l":"beginSection(String)","url":"beginSection(java.lang.String)"},{"p":"com.google.android.exoplayer2.source","c":"BehindLiveWindowException","l":"BehindLiveWindowException()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.analytics","c":"DefaultPlaybackSessionManager","l":"belongsToSession(AnalyticsListener.EventTime, String)","url":"belongsToSession(com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime,java.lang.String)"},{"p":"com.google.android.exoplayer2.analytics","c":"PlaybackSessionManager","l":"belongsToSession(AnalyticsListener.EventTime, String)","url":"belongsToSession(com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime,java.lang.String)"},{"p":"com.google.android.exoplayer2.extractor.mkv","c":"EbmlProcessor","l":"binaryElement(int, int, ExtractorInput)","url":"binaryElement(int,int,com.google.android.exoplayer2.extractor.ExtractorInput)"},{"p":"com.google.android.exoplayer2.extractor.mkv","c":"MatroskaExtractor","l":"binaryElement(int, int, ExtractorInput)","url":"binaryElement(int,int,com.google.android.exoplayer2.extractor.ExtractorInput)"},{"p":"com.google.android.exoplayer2.metadata.id3","c":"BinaryFrame","l":"BinaryFrame(String, byte[])","url":"%3Cinit%3E(java.lang.String,byte[])"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchCeil(int[], int, boolean, boolean)","url":"binarySearchCeil(int[],int,boolean,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchCeil(List extends Comparable super T>>, T, boolean, boolean)","url":"binarySearchCeil(java.util.List,T,boolean,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchCeil(long[], long, boolean, boolean)","url":"binarySearchCeil(long[],long,boolean,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchFloor(int[], int, boolean, boolean)","url":"binarySearchFloor(int[],int,boolean,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchFloor(List extends Comparable super T>>, T, boolean, boolean)","url":"binarySearchFloor(java.util.List,T,boolean,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchFloor(long[], long, boolean, boolean)","url":"binarySearchFloor(long[],long,boolean,boolean)"},{"p":"com.google.android.exoplayer2.util","c":"Util","l":"binarySearchFloor(LongArray, long, boolean, boolean)","url":"binarySearchFloor(com.google.android.exoplayer2.util.LongArray,long,boolean,boolean)"},{"p":"com.google.android.exoplayer2.extractor","c":"BinarySearchSeeker","l":"BinarySearchSeeker(BinarySearchSeeker.SeekTimestampConverter, BinarySearchSeeker.TimestampSeeker, long, long, long, long, long, long, int)","url":"%3Cinit%3E(com.google.android.exoplayer2.extractor.BinarySearchSeeker.SeekTimestampConverter,com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSeeker,long,long,long,long,long,long,int)"},{"p":"com.google.android.exoplayer2.extractor","c":"BinarySearchSeeker.BinarySearchSeekMap","l":"BinarySearchSeekMap(BinarySearchSeeker.SeekTimestampConverter, long, long, long, long, long, long)","url":"%3Cinit%3E(com.google.android.exoplayer2.extractor.BinarySearchSeeker.SeekTimestampConverter,long,long,long,long,long,long)"},{"p":"com.google.android.exoplayer2.util","c":"GlProgram","l":"bindAttributesAndUniforms()"},{"p":"com.google.android.exoplayer2.util","c":"GlUtil","l":"bindTexture(int, int)","url":"bindTexture(int,int)"},{"p":"com.google.android.exoplayer2.text","c":"Cue","l":"bitmap"},{"p":"com.google.android.exoplayer2.text","c":"Cue","l":"bitmapHeight"},{"p":"com.google.android.exoplayer2","c":"Format","l":"bitrate"},{"p":"com.google.android.exoplayer2.audio","c":"MpegAudioUtil.Header","l":"bitrate"},{"p":"com.google.android.exoplayer2.metadata.icy","c":"IcyHeaders","l":"bitrate"},{"p":"com.google.android.exoplayer2.transformer","c":"VideoEncoderSettings","l":"bitrate"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisUtil.VorbisIdHeader","l":"bitrateMaximum"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisUtil.VorbisIdHeader","l":"bitrateMinimum"},{"p":"com.google.android.exoplayer2.transformer","c":"VideoEncoderSettings","l":"bitrateMode"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisUtil.VorbisIdHeader","l":"bitrateNominal"},{"p":"com.google.android.exoplayer2","c":"C","l":"BITS_PER_BYTE"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisBitArray","l":"bitsLeft()"},{"p":"com.google.android.exoplayer2.util","c":"ParsableBitArray","l":"bitsLeft()"},{"p":"com.google.android.exoplayer2.extractor","c":"FlacStreamMetadata","l":"bitsPerSample"},{"p":"com.google.android.exoplayer2.extractor","c":"FlacStreamMetadata","l":"bitsPerSampleLookupKey"},{"p":"com.google.android.exoplayer2.audio","c":"Ac4Util.SyncFrameInfo","l":"bitstreamVersion"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeTrackSelection","l":"blacklist(int, long)","url":"blacklist(int,long)"},{"p":"com.google.android.exoplayer2.trackselection","c":"BaseTrackSelection","l":"blacklist(int, long)","url":"blacklist(int,long)"},{"p":"com.google.android.exoplayer2.trackselection","c":"ExoTrackSelection","l":"blacklist(int, long)","url":"blacklist(int,long)"},{"p":"com.google.android.exoplayer2.util","c":"ConditionVariable","l":"block()"},{"p":"com.google.android.exoplayer2.util","c":"ConditionVariable","l":"block(long)"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisUtil.Mode","l":"blockFlag"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisUtil.VorbisIdHeader","l":"blockSize0"},{"p":"com.google.android.exoplayer2.extractor","c":"VorbisUtil.VorbisIdHeader","l":"blockSize1"},{"p":"com.google.android.exoplayer2.util","c":"ConditionVariable","l":"blockUninterruptible()"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"blockUntilActionScheduleFinished(long)"},{"p":"com.google.android.exoplayer2","c":"PlayerMessage","l":"blockUntilDelivered()"},{"p":"com.google.android.exoplayer2","c":"PlayerMessage","l":"blockUntilDelivered(long)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner","l":"blockUntilEnded(long)"},{"p":"com.google.android.exoplayer2.util","c":"RunnableFutureTask","l":"blockUntilFinished()"},{"p":"com.google.android.exoplayer2.robolectric","c":"TestDownloadManagerListener","l":"blockUntilIdle()"},{"p":"com.google.android.exoplayer2.robolectric","c":"TestDownloadManagerListener","l":"blockUntilIdleAndThrowAnyFailure()"},{"p":"com.google.android.exoplayer2.robolectric","c":"TestDownloadManagerListener","l":"blockUntilInitialized()"},{"p":"com.google.android.exoplayer2.util","c":"RunnableFutureTask","l":"blockUntilStarted()"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoHostedTest","l":"blockUntilStopped(long)"},{"p":"com.google.android.exoplayer2.testutil","c":"HostActivity.HostedTest","l":"blockUntilStopped(long)"},{"p":"com.google.android.exoplayer2.util","c":"NalUnitUtil.PpsData","l":"bottomFieldPicOrderInFramePresentFlag"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceInsertCommand","l":"breakDurationUs"},{"p":"com.google.android.exoplayer2.metadata.scte35","c":"SpliceScheduleCommand.Event","l":"breakDurationUs"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_DECODE_ONLY"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_ENCRYPTED"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_END_OF_STREAM"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_FIRST_SAMPLE"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_KEY_FRAME"},{"p":"com.google.android.exoplayer2","c":"C","l":"BUFFER_FLAG_LAST_SAMPLE"},{"p":"com.google.android.exoplayer2.decoder","c":"DecoderInputBuffer","l":"BUFFER_REPLACEMENT_MODE_DIRECT"},{"p":"com.google.android.exoplayer2.decoder","c":"DecoderInputBuffer","l":"BUFFER_REPLACEMENT_MODE_DISABLED"},{"p":"com.google.android.exoplayer2.decoder","c":"DecoderInputBuffer","l":"BUFFER_REPLACEMENT_MODE_NORMAL"},{"p":"com.google.android.exoplayer2.decoder","c":"Buffer","l":"Buffer()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"DefaultLivePlaybackSpeedControl.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"DefaultLoadControl.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"Format.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.AdsConfiguration.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.ClippingConfiguration.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.DrmConfiguration.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.LiveConfiguration.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.RequestMetadata.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.SubtitleConfiguration.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"SimpleBasePlayer.State.Builder","l":"build()"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.audio","c":"AudioAttributes.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioSink.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioTrackBufferSizeProvider.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.effect","c":"HslAdjustment.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.effect","c":"RgbAdjustment.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.effect","c":"ScaleToFitTransformation.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.ext.ima","c":"ImaAdsLoader.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.ext.ima","c":"ImaServerSideAdInsertionMediaSource.AdsLoader.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.ext.ima","c":"ImaServerSideAdInsertionUriBuilder","l":"build()"},{"p":"com.google.android.exoplayer2.ext.media2","c":"SessionCallbackBuilder","l":"build()"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadRequest.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.source.rtsp","c":"RtpPacket.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"ActionSchedule.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"DataSourceContractTest.TestResource.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"DownloadBuilder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts.AssertionConfig.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExoMediaDrm.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExtractorInput.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"TestExoPlayerBuilder","l":"build()"},{"p":"com.google.android.exoplayer2.testutil","c":"WebServerDispatcher.Resource.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.text","c":"Cue.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.ParametersBuilder","l":"build()"},{"p":"com.google.android.exoplayer2.trackselection","c":"TrackSelectionParameters.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.transformer","c":"DefaultEncoderFactory.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationRequest.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationResult.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.transformer","c":"Transformer.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.transformer","c":"VideoEncoderSettings.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.ui","c":"AdOverlayInfo.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.ui","c":"TrackSelectionDialogBuilder","l":"build()"},{"p":"com.google.android.exoplayer2.upstream","c":"DataSpec.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.upstream","c":"DefaultBandwidthMeter.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.util","c":"FlagSet.Builder","l":"build()"},{"p":"com.google.android.exoplayer2.drm","c":"DefaultDrmSessionManager.Builder","l":"build(MediaDrmCallback)","url":"build(com.google.android.exoplayer2.drm.MediaDrmCallback)"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"buildAacLcAudioSpecificConfig(int, int)","url":"buildAacLcAudioSpecificConfig(int,int)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"DashManifestParser","l":"buildAdaptationSet(int, @com.google.android.exoplayer2.C.TrackType int, List, List, List, List)","url":"buildAdaptationSet(int,@com.google.android.exoplayer2.C.TrackTypeint,java.util.List,java.util.List,java.util.List,java.util.List)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"buildAddDownloadIntent(Context, Class extends DownloadService>, DownloadRequest, boolean)","url":"buildAddDownloadIntent(android.content.Context,java.lang.Class,com.google.android.exoplayer2.offline.DownloadRequest,boolean)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadService","l":"buildAddDownloadIntent(Context, Class extends DownloadService>, DownloadRequest, int, boolean)","url":"buildAddDownloadIntent(android.content.Context,java.lang.Class,com.google.android.exoplayer2.offline.DownloadRequest,int,boolean)"},{"p":"com.google.android.exoplayer2.testutil","c":"TestUtil","l":"buildAssetUri(String)","url":"buildAssetUri(java.lang.String)"},{"p":"com.google.android.exoplayer2","c":"DefaultRenderersFactory","l":"buildAudioRenderers(Context, @com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int, MediaCodecSelector, boolean, AudioSink, Handler, AudioRendererEventListener, ArrayList)","url":"buildAudioRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)"},{"p":"com.google.android.exoplayer2","c":"DefaultRenderersFactory","l":"buildAudioSink(Context, boolean, boolean, boolean)","url":"buildAudioSink(android.content.Context,boolean,boolean,boolean)"},{"p":"com.google.android.exoplayer2.audio","c":"AacUtil","l":"buildAudioSpecificConfig(int, int, int)","url":"buildAudioSpecificConfig(int,int,int)"},{"p":"com.google.android.exoplayer2.util","c":"CodecSpecificDataUtil","l":"buildAvcCodecString(int, int, int)","url":"buildAvcCodecString(int,int,int)"},{"p":"com.google.android.exoplayer2.upstream.cache","c":"CacheKeyFactory","l":"buildCacheKey(DataSpec)","url":"buildCacheKey(com.google.android.exoplayer2.upstream.DataSpec)"},{"p":"com.google.android.exoplayer2","c":"DefaultRenderersFactory","l":"buildCameraMotionRenderers(Context, @com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int, ArrayList)","url":"buildCameraMotionRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)"},{"p":"com.google.android.exoplayer2.util","c":"CodecSpecificDataUtil","l":"buildCea708InitializationData(boolean)"},{"p":"com.google.android.exoplayer2","c":"MediaItem.ClippingConfiguration.Builder","l":"buildClippingProperties()"},{"p":"com.google.android.exoplayer2.ext.cronet","c":"CronetUtil","l":"buildCronetEngine(Context, String, boolean)","url":"buildCronetEngine(android.content.Context,java.lang.String,boolean)"},{"p":"com.google.android.exoplayer2.ext.cronet","c":"CronetUtil","l":"buildCronetEngine(Context)","url":"buildCronetEngine(android.content.Context)"},{"p":"com.google.android.exoplayer2.source.dash","c":"DashUtil","l":"buildDataSpec(Representation, RangedUri, int)","url":"buildDataSpec(com.google.android.exoplayer2.source.dash.manifest.Representation,com.google.android.exoplayer2.source.dash.manifest.RangedUri,int)"},{"p":"com.google.android.exoplayer2.source.dash","c":"DashUtil","l":"buildDataSpec(Representation, String, RangedUri, int)","url":"buildDataSpec(com.google.android.exoplayer2.source.dash.manifest.Representation,java.lang.String,com.google.android.exoplayer2.source.dash.manifest.RangedUri,int)"},{"p":"com.google.android.exoplayer2.ui","c":"DownloadNotificationHelper","l":"buildDownloadCompletedNotification(Context, int, PendingIntent, String)","url":"buildDownloadCompletedNotification(android.content.Context,int,android.app.PendingIntent,java.lang.String)"},{"p":"com.google.android.exoplayer2.ui","c":"DownloadNotificationHelper","l":"buildDownloadFailedNotification(Context, int, PendingIntent, String)","url":"buildDownloadFailedNotification(android.content.Context,int,android.app.PendingIntent,java.lang.String)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoHostedTest","l":"buildDrmSessionManager()"},{"p":"com.google.android.exoplayer2","c":"DefaultLivePlaybackSpeedControl.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"DefaultLoadControl.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"Format.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.ClippingConfiguration.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.LiveConfiguration.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"MediaItem.RequestMetadata.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"MediaMetadata.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"Player.Commands.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2","c":"SimpleBasePlayer.State.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.audio","c":"AudioAttributes.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioSink.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.audio","c":"DefaultAudioTrackBufferSizeProvider.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.drm","c":"DefaultDrmSessionManager.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.effect","c":"HslAdjustment.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.effect","c":"RgbAdjustment.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.effect","c":"ScaleToFitTransformation.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.source.rtsp","c":"RtpPacket.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.testutil","c":"DataSourceContractTest.TestResource.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.testutil","c":"ExtractorAsserts.AssertionConfig.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExoMediaDrm.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.testutil","c":"FakeExtractorInput.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.testutil","c":"WebServerDispatcher.Resource.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.text","c":"Cue.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.trackselection","c":"TrackSelectionParameters.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationRequest.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.transformer","c":"TransformationResult.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.transformer","c":"VideoEncoderSettings.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.upstream","c":"DataSpec.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.util","c":"FlagSet.Builder","l":"Builder()","url":"%3Cinit%3E()"},{"p":"com.google.android.exoplayer2.trackselection","c":"TrackSelectionParameters.Builder","l":"Builder(Bundle)","url":"%3Cinit%3E(android.os.Bundle)"},{"p":"com.google.android.exoplayer2.ext.ima","c":"ImaServerSideAdInsertionMediaSource.AdsLoader.Builder","l":"Builder(Context, AdViewProvider)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.ui.AdViewProvider)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer.Builder","l":"Builder(Context, ExtractorsFactory)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager.Builder","l":"Builder(Context, int, String, PlayerNotificationManager.MediaDescriptionAdapter)","url":"%3Cinit%3E(android.content.Context,int,java.lang.String,com.google.android.exoplayer2.ui.PlayerNotificationManager.MediaDescriptionAdapter)"},{"p":"com.google.android.exoplayer2.ui","c":"PlayerNotificationManager.Builder","l":"Builder(Context, int, String)","url":"%3Cinit%3E(android.content.Context,int,java.lang.String)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer.Builder","l":"Builder(Context, MediaSource.Factory)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSource.Factory)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer.Builder","l":"Builder(Context, RenderersFactory, ExtractorsFactory)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.extractor.ExtractorsFactory)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer.Builder","l":"Builder(Context, RenderersFactory, MediaSource.Factory, TrackSelector, LoadControl, BandwidthMeter, AnalyticsCollector)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer.Builder","l":"Builder(Context, RenderersFactory, MediaSource.Factory)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer.Builder","l":"Builder(Context, RenderersFactory, TrackSelector, MediaSource.Factory, LoadControl, BandwidthMeter, AnalyticsCollector)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer.Builder","l":"Builder(Context, RenderersFactory)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer.Builder","l":"Builder(Context, RenderersFactory)","url":"%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory)"},{"p":"com.google.android.exoplayer2","c":"ExoPlayer.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2","c":"SimpleExoPlayer.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.ext.ima","c":"ImaAdsLoader.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoPlayerTestRunner.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.trackselection","c":"DefaultTrackSelector.Parameters.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.trackselection","c":"TrackSelectionParameters.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.transformer","c":"DefaultEncoderFactory.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.transformer","c":"Transformer.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.upstream","c":"DefaultBandwidthMeter.Builder","l":"Builder(Context)","url":"%3Cinit%3E(android.content.Context)"},{"p":"com.google.android.exoplayer2.offline","c":"DownloadRequest.Builder","l":"Builder(String, Uri)","url":"%3Cinit%3E(java.lang.String,android.net.Uri)"},{"p":"com.google.android.exoplayer2.testutil","c":"ActionSchedule.Builder","l":"Builder(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"com.google.android.exoplayer2.trackselection","c":"TrackSelectionParameters.Builder","l":"Builder(TrackSelectionParameters)","url":"%3Cinit%3E(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"},{"p":"com.google.android.exoplayer2","c":"MediaItem.AdsConfiguration.Builder","l":"Builder(Uri)","url":"%3Cinit%3E(android.net.Uri)"},{"p":"com.google.android.exoplayer2","c":"MediaItem.SubtitleConfiguration.Builder","l":"Builder(Uri)","url":"%3Cinit%3E(android.net.Uri)"},{"p":"com.google.android.exoplayer2","c":"MediaItem.DrmConfiguration.Builder","l":"Builder(UUID)","url":"%3Cinit%3E(java.util.UUID)"},{"p":"com.google.android.exoplayer2.ui","c":"AdOverlayInfo.Builder","l":"Builder(View, @com.google.android.exoplayer2.ui.AdOverlayInfo.Purpose int)","url":"%3Cinit%3E(android.view.View,@com.google.android.exoplayer2.ui.AdOverlayInfo.Purposeint)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"DashManifestParser","l":"buildEvent(String, String, long, long, byte[])","url":"buildEvent(java.lang.String,java.lang.String,long,long,byte[])"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"DashManifestParser","l":"buildEventStream(String, String, long, long[], EventMessage[])","url":"buildEventStream(java.lang.String,java.lang.String,long,long[],com.google.android.exoplayer2.metadata.emsg.EventMessage[])"},{"p":"com.google.android.exoplayer2.testutil","c":"ExoHostedTest","l":"buildExoPlayer(HostActivity, Surface, MappingTrackSelector)","url":"buildExoPlayer(com.google.android.exoplayer2.testutil.HostActivity,android.view.Surface,com.google.android.exoplayer2.trackselection.MappingTrackSelector)"},{"p":"com.google.android.exoplayer2.source.dash.manifest","c":"DashManifestParser","l":"buildFormat(String, String, int, int, float, int, int, int, String, List, List, String, List